안녕하세요 jay입니다.
오늘은 numpy array에서 sum, mean, median 값을 구하는 법에 대해 알아보도록 하겠습니다.
sum : 행렬의 합을 구하는 함수입니다.
mean : 행렬의 평균을 구하는 함수입니다.
median : 행렬의 중간값을 구하는 함수입니다. (행렬의 item갯수가 짝수일 경우 평균으로 값을 구합니다)
np.sum(array), array.sum() 두가지 방식으로 연산이 가능합니다.
# sum , mean, median import numpy as np arr = np.arange(1,31,2).reshape(3,5) print(arr) """ [[ 1 3 5 7 9] [11 13 15 17 19] [21 23 25 27 29]] """ # sum : array의 합을 출력해주는 함수 print(np.sum(arr)) # 225 print(arr.sum()) # 225 # mean : array의 평균을 출력해주는 함수 print(np.mean(arr)) # 15.0 print(arr.mean()) # 15.0 # median : array의 중간값을 출력해주는 함수 print(np.median(arr)) # 15.0 #print(arr.median()) # 동작하지 않음
이제 slicing과 axis를 통해서 원하는 부분의 합,평균,중간값을 구해보도록 하겠습니다.
axis는 축으로, axis = 0은 행을 기준으로 연산을 하라라는 의미이고
axis = 1 은 열을 기준으로 연산을 하라는 의미입니다.
예를 들어 3,5 행렬에서 axis = 0 기준으로 연산을 한다면 행 기준으로의 연산이므로
5x1 형태의 행렬이 return됩니다.
아래의 예시를 보고 이해를 하시면 되겠습니다.
import numpy as np # axix를 이용한 sum, mean, median arr2 = np.arange(1,31,2).reshape(3,5) print(arr2) """ [[ 1 3 5 7 9] [11 13 15 17 19] [21 23 25 27 29]] """ # arr2 전체 item들의 합 print(arr2.sum()) # 225 # arr2를 행 기준으로 합 print(arr2.sum(axis = 0)) # [33 39 45 51 57] # arr2를 열 기준으로 합 print(arr2.sum(axis = 1)) # [ 25 75 125] # arr2를 행 기준으로 평균을 구함 print(arr2.mean(axis = 0)) # [11. 13. 15. 17. 19.] # arr2를 열 기준으로 평균을 구함 print(arr2.mean(axis = 1)) # [ 5. 15. 25.] # 1,4 번째 열을 제외한 부분의 행렬의 최대,최소,평균,중간 값을 구하시오 print(np.max(arr[:,1:4])) # 27 print(np.min(arr[:,1:4])) # 3 print(np.mean(arr[:,1:4])) # 15.0 print(np.median(arr[:,1:4])) # 15.0
댓글
댓글 쓰기