넘 파이란?
NumPy는 대규모 다차원 배열을 쉽게 처리할 수 있도록 지원하는 파이썬의 라이브러리이다.
NumPy는 데이터 구조 외에도 수치 계산을 위해 효율적으로 구현된 기능을 제공한다.
기초 및 사용법
import numpy as np
우선 모듈을 설치한 뒤 import를 해야 한다.
흔히들 np라고 alias를 지어 사용한다.
정의에서도 알 수 있듯이 배열을 다루는 모듈이기에 아주 기본적인 1차원 배열을 만들어 보겠다.
import numpy as np
x = np.array([1,2,3,4])
print(x)
print(type(x))
결과는 다음과 같다.
1차원 배열이 생성된 것을 확인할 수 있다.
하지만 타입을 출력해보니 'numpy.ndarray'라고 출력이 되었다.
기존 list와는 생김새는 같지만 타입이 다르다는 것에 유의해야 한다.
기존 list는 numpy메서드가 적용되지 않는 경우도 있기 때문이다.
유용한 메소드
shape
print(x.shape)
1, 2, 3, 4를 np.array로 만들었다.
4개의 요소가 있고 1차원이라는 출력이 나온 것이다.
zeros, ones
x = np.zeros((3, 4))
y = np.ones((2, 3, 4), dtype=np.int16)
print(x)
print(y)
배열을 원하는 차원과 요소의 수로 0과 1을 사용하여 채우는 메서드이다.
행렬을 생각해보면 매개변수를 쉽게 이해할 수 있을 것이다.
arange
x = np.arange(10, 30, 5)
y = np.arange(0, 2, 0.3)
print(x)
print(y)
주어지는 수의 범위로 배열을 만드는 메서드이다. 세 번째 매개변수는 step이라 생각하면 된다.
linspace
x = np.linspace(0, 10, 5)
print(x)
arrange는 step를 주고 범위 내에서 배열을 만들었다.
하지만 linspace는 개수를 정하고 범위를 주면 알아서 step을 계산하여 배열을 만들어 준다.