numpy는 list 자료형에 비해 빠르고 효율적이며, 반복문 없이 배열(array)에 대한 계산을 수행할 수 있도록 지원하는 패키지입니다.
https://www.slideshare.net/enthought/numpy-talk-at-siam
import numpy as np
test_array = np.array([1, 2, 3, 4], int)
print(f"test_array {test_array}")
print(f"test_array type {type(test_array[0])}")
name | 기능 |
---|---|
reshape | array의 shape의 크기를 변경 (element 갯수는 유지) |
flatten | 다차원 array 1차원 array |
arange | array의 범위 지정, 값 list 생성 |
array | list |
---|---|
array의 데이터가 연속적으로 저장됨 | list의 데이터 값의 주소가 연속적으로 저장됨 |
https://jakevdp.github.io/blog/2014/05/09/why-python-is-slow/
위 그림의 경우처럼, [1, 2, 3, 4, 5, 6, 7, 8]을 저장한다고 하면,
Note
import numpy as np
#list
a = [1, 2, 3]
b = [3, 2, 1]
print("Let's play with list")
print(a[0] is b[-1]) #같은 메모리 주소
#array
npa = np.array(a)
npb = np.array(b)
print("Let's play with array")
print(npa[0] is npb[-1]) #다른 메모리 주소
참고문헌