
파이썬의 고성능 과학 계산을 위한 필수 패키지
루프를 명시적으로 작성하지 않고, 배열의 전체 요소를 한 번에 처리하는 연산 방식
매 단계 객체 접근 및 타입 체크로 연산 속도 저하
data = list(range(1000000))
result = []
for i in data:
result.append(i * 2)
한 줄의 코드가 내부 C 루프에서 병렬 처리됨
import numpy as np
data = np.arange(1000000)
result = data * 2
모양이 다른 배열 간의 연산을 가능하게 하는 기능. 특정 조건 만족 시 작은 배열을 큰 배열 크기에 맞춰 자동으로 확장
import numpy as np
# (3, 3) 행렬과 (3,) 벡터의 연산 예시
A = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
B = np.array([10, 20, 30])
result = A + B # 브로드캐스팅 발생
np.array() 함수에 전달하여 생성np.arange(start, stop, step): 특정 범위 수열 생성np.zeros() / np.ones(): 0 또는 1로 채워진 배열 생성np.eye(3): 3x3 단위 행렬 생성np.full(shape, value): 특정 값으로 가득 찬 배열 생성np.linspace(start, stop, num): 범위를 균등하게 나눈 배열 생성reshape(-1, 3): -1 사용 시 다른 차원에 맞춰 크기 자동 결정sum, min, max 등의 함수에서 사용하는 주요 파라미터