2016년 3월 3일 목요일

python numpy array vs asarray

numpy의 array()와 asarray()의 차이점은.

참고: http://stackoverflow.com/questions/14415741/numpy-array-vs-asarray

1. 둘은 기본적으로 동일하다.
def asarray(a, dtype=None, order=None):
    return array(a, dtype, copy=False, order=order)
2. 하지만 array는 copy=true가 기본이고, asarray는 copy=false가 기본이다.

3. 즉, 옵션을 명시하지 않으면 array는 복사본을 만들어서 저장하고, asarray는 복사본없이 저장하는 듯하다.

4. 하지만 다른 type을 convert하기 위해서 사용하는 경우(예를 들면 list를 입력으로 주어서 ndarray로 만드는 경우)는 형변환을 위해서 새로운 구조를 반드시 만들어야 하기에 copy=False가 무시된다(asarray()인 경우에도).

5. 그렇기에 type을 convert하는 경우는 asarray와 array가 동일하게 동작한다.