전산직/컴퓨터일반

NumPy 라이브러리

glorypang 2025. 11. 8. 23:18
728x90
반응형
SMALL

NumPy란?

NumPy (Numerical Python) 은
다차원 배열(ndarray) 을 효율적으로 다루기 위한 수치 계산용 파이썬 라이브러리입니다.

  • 과학 계산, 데이터 분석, 머신러닝, 딥러닝의 기반이 되는 라이브러리
  • 순수 파이썬보다 수십~수백 배 빠른 연산이 가능함 (C로 구현되어 있음)

NumPy의 핵심 — ndarray (N-Dimensional Array)

NumPy의 핵심 자료구조는 바로 ndarray (n차원 배열)입니다.
리스트와 비슷하지만, 연속된 메모리 공간에 저장되어 훨씬 빠름.


배열의 주요 속성

속성  의미  예시
.ndim 차원 수 arr.ndim → 1
.shape 배열의 형태 (행, 열) arr.shape → (4,)
.size 원소 개수 arr.size → 4
.dtype 데이터 타입 arr.dtype → int64

배열 생성 함수

함수  설명  예시
np.array() 배열 생성 np.array([1,2,3])
np.zeros() 0으로 채움 np.zeros((2,3))
np.ones() 1로 채움 np.ones((3,3))
np.full() 지정 값으로 채움 np.full((2,2), 7)
np.eye() 단위 행렬 np.eye(3)
np.arange() 범위 지정 배열 np.arange(0,10,2)
np.linspace() 일정 간격 배열 np.linspace(0,1,5)
np.random.rand() 0~1 난수 np.random.rand(2,3)

배열 인덱싱 / 슬라이싱

a = np.array([[10, 20, 30], [40, 50, 60]])

print(a[0, 1])    # 20 (0행 1열)
print(a[:, 1])    # [20 50] (모든 행의 1열)
print(a[0:2, 1:3])# [[20 30], [50 60]]
  • 리스트와 달리 행렬 단위 슬라이싱이 매우 편리함.

벡터화 연산 (Vectorized Operations)

NumPy의 진짜 강점은 바로 for문 없이도 배열 간 연산 가능하다는 점입니다.

a = np.array([1, 2, 3])
b = np.array([10, 20, 30])

print(a + b)   # [11 22 33]
print(a * b)   # [10 40 90]
print(a ** 2)  # [1 4 9]
728x90
반응형
LIST