본문 바로가기
AI/- Library

[Numpy] 연산 방법 정리

by Yoojacha 2023. 2. 16.

ndarray 연산 방법

a = np.arange(1, 10) # [1~9] nparray 형태가 됨
b = np.arange(1, 10) # [1~9] nparray 형태가 됨

## 이항연산

sum_ = a + b # 각 인덱스 위치별 더하기 적용
print(f'{a}\n{b}\n{sum_}')  
"""
[1 2 3 4 5 6 7 8 9]
[1 2 3 4 5 6 7 8 9]
[ 2  4  6  8 10 12 14 16 18]
"""

minus = a - b
print(f'{a}\n{b}\n{minus}')
"""
[1 2 3 4 5 6 7 8 9]
[1 2 3 4 5 6 7 8 9]
[0 0 0 0 0 0 0 0 0]
"""

squared = a ** 2 # 배열 제곱 인덱스별 적용
print(a, squared)
# [1 2 3 4 5 6 7 8 9] [ 1  4  9 16 25 36 49 64 81]

연산 메소드

arr1 = np.array([1,2,3])
arr2 = np.array([8,9,10])

np.add(arr1, arr2, out=arr1)
print(arr1) # arr1 변수에 더하기 결과 반환
print(arr2) # arr2 의 값이 변하지 않음

np.subtract(arr1, [8,9,10])
print(arr1) 
print(arr2)

np.multiply(arr1, [1,2,3], out=arr1)
print(arr1)

np.sqrt(arr) # 각각 제곱근
np.exp(arr) # 자연 상수
np.log(arr) # log
np.log2(arr) # log2
np.log10(arr) # log10
np.sin(arr) # sin
np.cos(arr) # cos
np.modf(arr1) # 정수부분, 소수부분 분리

통계 메소드

np.sum(x)  # 합
np.sum(x, axis=0)  # 열 기준 합
np.sum(x, axis=1)  # 행 기준 합
np.min(x)  # 가장 작은 값
np.max(x)  # 가장 큰 값
np.mean(x) # 평균
np.median(arr, axis=1, dtype = np.int16) # 중앙값
np.std(x)  # 표준편차
np.var(arr) # 분산
np.cov(arr) # 공분산
np.cov(arr1, arr2, dtype=np.float16)
np.corrcoef(arr[:,0], arr[:,1]) # 피어슨 상관계수
np.cumsum(arr, axis=0) # 누적합
np.cumprod(arr, axis=1) # 누적곱
np.tril(arr) # 하삼각행렬
np.triu(arr) # 상삼각행렬
np.argmin(arr, axis=0) # 축을 따라 최솟값의 인덱스 반환
np.argmax(arr, axis=0) # 축을 따라 최댓값의 인덱스 반환
np.argmin(arr) # 축이 없으면 전체 요소 중 최솟값 인덱스 반환
np.argmax(arr) # 축이 없으면 전체 요소 중 최댓값 인덱스 반환
np.maximum(arr1, arr2) # 같은 길이와 차원의 배열 2개를 비교해서 큰 요소로만 채우기
np.minimum(arr1, arr2) # 같은 길이와 차원의 배열 2개를 비교해서 작은 요소로만 채우기

# 백분위 x% intensity
np.percentile(arr, 25)
np.percentile(arr, 50)
np.percentile(arr, 75)

# 백분위 25, 50 75%의 intensity
np.percentile(arr, [25, 50, 75])

댓글