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])
댓글