[numpy] 집계함수

집계함수

Numpy에서 제공해주는 집계함수와 이를 사용할때 필요한 axis에 대하여 서술한다.

axis란?

axis는 수학에서 말하는 축을 의미한다.

  • axis의 개수는 dimension 의 수와 일치한다. 즉, 1-dimesnional ndarray 의 경우 1개의 axis 가 존재하고 2-dimensional ndarray의 경우 2개의 axis가 존재한다.

1. numpy.sum

ndarray의 합을 계산한다.

print(arr)
#[[1 2 3]
## [4 5 6]
## [7 8 9]]
#----------------------------------------
print(np.sum(arr))         # 45
print(np.sum(arr, axis=0)) # [12 15 18]
print(np.sum(arr, axis=1)) # [ 6 15 24]

2. numpy.cumsum

ndarray의 누적합을 계산한다.

print(arr)
#[[1 2 3]
## [4 5 6]
## [7 8 9]]
#----------------------------------------
print(np.cumsum(arr))             # [ 1  3  6 10 15 21 28 36 45]
print(np.cumsum(arr, axis=0))     # [[ 1  2  3]
								  #  [ 5  7  9]
                                  #  [12 15 18]]							
print(np.cumsum(arr, axis=1))     
## [[ 1  3  6]
##  [ 4  9 15]]
##  [ 7 15 24]]

3. numpy.mean, numpy.std

ndarray의 평균과 표준편차를 계산한다.

print(arr)
#[[1 2 3]
## [4 5 6]
## [7 8 9]]
print(np.mean(arr))    # 5.0
print(np.std(arr))     # 2.581988897471611

4. numpy.max, numpy.min

ndarray의 최댓값과 최솟값을 계산한다. numpy.max에 대한 예제에 대해서만 언급한다.

print(arr)
#[[1 2 3]
## [4 5 6]
## [7 8 9]]
print(np.max(arr))          # 9
print(np.max(arr, axis=0))  # [7 8 9]
print(np.max(arr, axis=1))  # [3 6 9]

5. numpy.argmax, numpy.argmin

ndarray의 최댓값과 최솟값의 index를 찾아준다. numpy.argmax에 대한 예제에 대해서만 언급한다.

print(arr)
#[[1 2 3]
## [4 5 6]
## [7 8 9]]
print(np.argmax(arr))         # 8
print(np.argmax(arr, axis=0)) # [2 2 2]
print(np.argmax(arr, axis=1)) # [2 2 2]

6. numpy.exp, numpy.log, numpy.log10

ndarray 에 대하여exp(arr), ln(arr)(자연로그), log(arr)(상용로그) 값을 계산한다.

7 . numpy.unique

ndarray 의 중복 원소를 제거해 유일한 원소들을 제공해준다. axis를 지정할 수는 있지만 제대로 작동하지 못한다.

np.random.seed(3)
arr = np.random.randint(0,10,(2,4))
print(arr)
## [[8 9 3 8]
##  [8 0 5 3]]
print(np.unique(arr))  # [0 3 5 8 9]