728x90

파이썬의 통계를 위한 메서드

배열 전체 혹은 배열의 한 축에 속하는 자료에서 통계를 계산하는 수학 함수 중 4개를 소개한다.

  • argmax : 최대 원소의 인덱스값
  • argmin : 최소 원소의 인덱스값
  • cumsum : 0부터 시작하는 각 원소의 누적 합
  • cumprod : 1부터 시작하는 각 원소의 누적 곱

4개의 함수는 모두 axis라는 매개변수를 갖는다. (2차원 기준으로 설명)

  • axis = 0 : 행을 의미하며, 계산은 행의 방향대로 진행
  • aixs = 1 : 열을 의미하며, 계산은 열의 방향대로 진행

 

np.argmin


np.argmax(data, axis(default=0)) : 최대 원소의 인덱스 값 반환

>>> import numpy as np
>>> data = np.array([[0,3,5],[6,4,2]])
>>> np.argmax(data,axis=0)
array([1, 1, 0])

>>> np.argmax(data,axis=1)
array([2, 0])

 

 

np.argmin


np.argmin(data, axis(default=0)) : 최소 원소의 인덱스 값 반환

>>> import numpy as np
>>> data = np.array([[3,2,4], [1,3,2]])
>>> np.argmin(data, axis=0)
array([1, 0, 1])
>>> np.argmin(data, axis=1)
array([1, 0])

 

 

np.cumsum


np.cumsum(data, axis(default=0))0부터 시작하는 각 원소의 누적 합

>>> import numpy as np
>>> data = np.arange(1,13).reshape(4,3)
>>> data
array([[ 1,  2,  3],
       [ 4,  5,  6],
       [ 7,  8,  9],
       [10, 11, 12]])
       
>>> np.cumsum(data, axis=0)
array([[ 1,  2,  3],
       [ 5,  7,  9],
       [12, 15, 18],
       [22, 26, 30]])
       
>>> np.cumsum(data, axis=1)
array([[ 1,  3,  6],
       [ 4,  9, 15],
       [ 7, 15, 24],
       [10, 21, 33]])

 

np.cumprod


np.cumprod(data, axis(default=0))1부터 시작하는 각 원소의 누적 곱

>>> import numpy as np
>>> data = np.arange(1,13).reshape(4,3)
>>> data
array([[ 1,  2,  3],
       [ 4,  5,  6],
       [ 7,  8,  9],
       [10, 11, 12]])

>>> np.cumprod(data, axis=0)
array([[   1,    2,    3],
       [   4,   10,   18],
       [  28,   80,  162],
       [ 280,  880, 1944]])
       
>>> np.cumprod(data, axis=1)
array([[   1,    2,    6],
       [   4,   20,  120],
       [   7,   56,  504],
       [  10,  110, 1320]])