UNIT 21
배열 만들기
DATA SCIENCE FOR EVERYONE
numpy 배열은 파이썬의 리스트보다 더 간편하고 빠르다. 특히 다차원 데이터를 다룰 때 더욱 그러하다. 그러나 리스트와 달리 배열은 타입이 같은 아이템만 갖는다. 데이터 타입이 서로 다른 아이템을 하나의 배열에 섞어서 넣을 수 없다.
numpy 배열은 여러 가지 방법으로 만들 수 있다. array() 함수는 배열과 타입이 유사한 데이터에서 배열을 생성하며, 그 데이터는 리스트나 튜플, 배열이 될 수 있다. dtype 파라미터를 명시적으로 전달하지 않는다면 numpy는 배열 안 아이템의 데이터 타입을 데이터에서 추론한다. numpy는 bool_, int64, uint64, float64와 <U32(유니코드 문자열) 등 20여 가지의 데이터 타입을 지원한다.
numpy가 배열을 생성할 때는 소스에서 데이터를 배열로 복제하는 것이 아니라, 효율성을 높이려고 배열을 데이터에 연결한다. 즉, 기본적으로 numpy 배열은 대상 데이터의 뷰(view)이지 복제(copy)가 아니라는 의미다. 대상 데이터 객체를 변경하면 배열 데이터도 역시 변경된다. 이를 원하지 않는다면 copy=True 파라미터를 생성자에 전달한다(데이터가 엄청나게 크지 않는 한 언제나 복제하는 것이 좋다).
* 배열 번호(인덱스)와 번호에 대응하는 데이터로 구성된 자료구조