2.3 KiB
2.3 KiB
Numpy : 파이썬의 강력한 수치 계산 도구
NumPy는 Numerical Python의 줄임말로, 파이썬에서 과학 계산, 수치 분석 등을 효율적으로 수행하기 위한 필수적인 라이브러리입니다. 특히, **다차원 배열(ndarray)**을 효과적으로 다루고 벡터화 연산을 지원하여 빠르고 효율적인 수치 계산을 가능하게 합니다.
- 빠른 속도: C 언어로 작성된 내부 코드를 사용하여 파이썬 리스트보다 훨씬 빠른 연산을 수행합니다.
- 편리한 사용법: 다양한 함수와 메서드를 제공하여 복잡한 수치 계산을 간단하게 수행할 수 있습니다.
- 대규모 데이터 처리: 대용량 데이터를 효율적으로 처리할 수 있는 기능을 제공합니다.
- 다양한 라이브러리와의 호환성: SciPy, Pandas, Matplotlib 등 다양한 과학 계산 라이브러리와 호환됩니다.
NumPy의 주요 특징
- 다차원 배열(ndarray): NumPy의 핵심 데이터 구조입니다. 행렬, 벡터, 텐서 등 다양한 형태의 데이터를 효율적으로 저장하고 연산할 수 있습니다.
- 벡터화 연산: 반복문 없이 배열 전체에 대한 연산을 한 번에 수행하여 속도를 크게 향상시킵니다.
- 선형대수 연산: 행렬 곱셈, 역행렬, 고유값 분해 등 선형대수 연산을 위한 다양한 함수를 제공합니다.
- 난수 생성: 다양한 분포의 난수를 생성할 수 있는 기능을 제공합니다.
- 브로드캐스팅: shape이 다른 배열 간의 연산을 자동으로 처리하는 기능입니다.
주요 함수
- ndarray 생성:
np.array(),np.zeros(),np.ones(),np.arange()등 - 배열 연산:
+,-,*,/,**등의 산술 연산자,dot함수를 이용한 행렬 곱셈 등 - 배열 조작:
reshape(),transpose(),flatten(),concatenate()등 - 선형대수: linalg 모듈을 이용한 행렬 분해, 역행렬 계산 등
- 통계:
mean(),std(),sum(),max(),min()등
import numpy as np
# 1차원 배열 생성
arr = np.array([1, 2, 3, 4, 5])
# 2차원 배열 생성
arr2d = np.array([[1, 2, 3], [4, 5, 6]])
# 배열 연산
result = arr + 2
print(result) # [3 4 5 6 7]
# 행렬 곱셈
result = np.dot(arr2d, arr2d.T)
print(result)
# 난수 생성
random_numbers = np.random.rand(3, 3)
print(random_numbers)