Python
Numpy
이런저런 IT 이야기
2023. 7. 23. 17:55
반응형
NumPy는 파이썬에서 수치 계산과 배열 처리를 위한 핵심적인 오픈 소스 라이브러리입니다. "Numerical Python"의 약자로, 대규모 다차원 배열과 행렬을 지원하며, 이러한 배열에 대한 다양한 수학적 함수를 효율적으로 처리할 수 있도록 도와줍니다.
NumPy는 데이터 과학, 공학, 컴퓨터 그래픽스, 기계 학습 등 다양한 분야에서 매우 널리 사용되며, 수치적인 계산 작업과 데이터 조작에 매우 유용합니다.
NumPy의 주요 특징은 다음과 같습니다:
- 다차원 배열 (ndarray): NumPy의 가장 중요한 기능은 N차원 배열인 ndarray입니다. 이는 동일한 데이터 타입의 원소들로 이루어진 다차원 배열로, 벡터, 행렬, 그리고 고차원 배열을 효과적으로 처리할 수 있습니다.
- 브로드캐스팅 (Broadcasting): NumPy는 서로 다른 모양을 가진 배열들 간에도 일부 조건을 만족하면 산술 연산을 가능하게 하는 브로드캐스팅 기능을 제공합니다.
- 유니버셜 함수 (ufunc): NumPy는 원소별 연산을 수행하는 유니버셜 함수를 제공하여 빠르고 효율적인 배열 연산을 지원합니다. 예를 들어, 삼각 함수, 지수 함수, 로그 함수 등을 배열의 각 원소에 적용할 수 있습니다.
- 배열 인덱싱과 슬라이싱: NumPy 배열은 파이썬의 리스트와 유사하게 인덱싱과 슬라이싱을 지원하여 원하는 부분 배열을 쉽게 추출하고 조작할 수 있습니다.
- 선형 대수 (Linear Algebra): NumPy는 행렬과 벡터를 다루기 위한 선형 대수 연산도 지원합니다. 예를 들어, 행렬 곱셈, 역행렬, 행렬식 계산 등을 수행할 수 있습니다.
Numpy 함수 | 설명 |
cos, sin, tan | 삼각함수 |
arcco, arcsin, arctan | 역삼각함수 |
cosh, sinh, tanh | 쌍곡 삼각함수 |
arccosh, arcsinh, arctanh | 역쌍곡 삼각함수 |
sqrt | 제곱근 |
exp | 지수 |
log, log2, log10 | 지수 밑이 2, e, 10인 지수함수 |
add, subtract, multiply, divide | 두 numpy 배열에 대한 +,-,*,/ |
power | 첫번째 인수를 두번째 인수의 지수로 계산 |
remainder | 나눗셈 나머지 |
reciprocal | 각 원소의 역 |
real, imag, conj | 입력 배열의 복수 쌍중 실수와 허수부분 |
sign, abs | 부호와 절대값 |
floor, ceil, rint | 정수 변환 |
rount | 지정한 자릿수로 반올림 |
mean | 배열의 모든 값 평균 |
std | 표준 편차 |
var | 분산 |
sum | 전체 원소의 합 |
prod | 전체 원소의 곱 |
cumsum | 전체 원소의 누적 합 |
cumprod | 전체 원소의 누적 곱 |
min, max | 배열의 최소, 최대 |
argmin, argmax | 배열의 최소값/최대값 인덱스 |
all | 인수 배열의 모든 원소가 0이 아니면 참 |
any | 전체 원소중 하나라도 0이 아니면 참 |
where | 조건 배열에 주어진 값에 따라 두 배열중 값 선택 |
choose | 조건 인덱스 배열에 따라 배열의 리스트에서 값 선택 |
select | 조건 리스트에 따라 배열의 리스트에서 값 선택 |
nonzero | 0이 아닌 원소를 가진 배열 인덱스를 반환 |
logical_and | 원소별 OR/XOR 연산 수행 |
logical_or, logical_xor | 원소별 OR/XOR 연산 수행 |
logical_not | 원소별 NOT 연산 수행 |
unigue | 고유값만을 원소로 갖는 새로운 배열 생성, 각 값은 단 한번만 나타낸다 |
inld | 배열에 지정한 원소의 존재 유무를 다른 배열에서 검색 |
intersect1d | 지정한 두 배열에 모두 존재하는 원소를 가진 배열을 반환 |
setdiff1d | 지정한 두 배열중 한쪽에만 존재하는 값으로 이뤄진 배열을 반환 |
union1d | 지정한 두 배열중 어느 한쪽이라도 존재하는 원소를 모아 만든 배열 반환 |
np.transpose, np.ndarray.transpose, np.ndarray.T | 배열의 전치(축 뒤집기) |
fliplr, flipud | 각 행/열의 원소 뒤집기 |
rot90 | 처음 2개 축을 따라 원소를 90도 회전 |
np.sort, np.ndarray.sort | 지정한 축(기본값은 배열의 마지막 축)에 따라 배열의 원소를 정렬 np.darray 매서드는 배열 값을 직접 변경(in place) 시키며 정렬을 수행한다. |
dot | 백터, 배열, 텐서를 나타내는 두 배열 사이의 행렬 곱셈 |
inner | 백터를 나타내는 두 배열 간의 스칼라 곱(내적) |
cross | 백터를 나타내는 두 배열 간의 교차 곱 |
tensordot | 다차원 배열을 지정된 축을 따라 행렬내적 |
outer | 벡터를 나타내는 두 배열간의 외적(벡터의 텐서 곱) |
kron | 행렬들과 고차원 배열을 나타내는 배열 간의 크로네커 곱 |
einsum | 다차원 배열에 대한 아인스타인의 합 규약 |
반응형