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 다차원 배열에 대한 아인스타인의 합 규약

 

반응형