NumPy 개요
NumPy 개요
NumPy는 Python의 과학 컴퓨팅 기반 라이브러리예요. 다차원 배열 객체인 ndarray와 이를 다루는 수많은 함수를 제공해서, 반복문 없이 벡터화된 연산으로 빠르게 계산할 수 있게 해 줘요. pandas, scikit-learn, scikit-image 같은 라이브러리들이 모두 NumPy 위에서 돌아가요.
왜 NumPy인가
파이썬 기본 리스트로도 계산은 가능하지만, 요소별 반복이 느리고 고차원·대용량 연산에 부적합해요. NumPy의 ndarray는 같은 타입의 요소를 메모리에 연속 배치해 연산 속도를 크게 높이고, 벡터화 연산으로 코드도 간결해져요.
ndarray 만들기
numpy.array()로 리스트나 튜플에서 배열을 만들어요. 2차원 이상은 중첩 리스트로 만들 수 있어요.
import numpy as np
a = np.array([1, 2, 3])
b = np.array([[1, 2], [3, 4]])
shape와 dtype으로 배열의 크기와 요소 타입을 확인해요.
print(a.shape) # (3,)
print(b.shape) # (2, 2)
print(a.dtype) # int64
벡터화 연산
배열끼리 사칙연산을 하면 요소별로 적용돼요. 반복문 없이 빠르게 계산할 수 있는 게 NumPy의 핵심이에요.
c = a + 10 # 각 요소에 10 더하기
d = a * a # 요소별 제곱
print(a.mean()) # 평균
print(a.sum()) # 합