반응형
파이썬 Numpy 배열을 위한 집계함수가 존재한다. 복잡하게 반복문을 활용할 필요업이 집계함수 하나면 시간을 절약할 수 있다. 이번에는 그 집계함수들에 대해서 알아보려고 한다.
합계 : np.sum(배열)
최대 : np.max(배열)
최소 : np.min(배열)
평균 : np.mean(배열)
1
2
3
4
5
6
7
8
|
import numpy as np
a = np.arange(10)
print('a = \n', a, '\n')
print('np.sum(a)\n =', np.sum(a), '\n')
print('np.max(a)\n =', np.max(a), '\n')
print('np.min(a)\n =', np.min(a), '\n')
print('np.mean(a)\n =', np.mean(a), '\n')
|
cs |
a =
[0 1 2 3 4 5 6 7 8 9]
np.sum(a)
= 45
np.max(a)
= 9
np.min(a)
= 0
np.mean(a)
= 4.5
사용법은 매우 간단하다. 각각의 함수 안에 있는 소괄호에 배열을 입력하면 된다. 위의 예시는 단순히 단일 행으로 구성된 배열의 집계함수 사용법을 보여준 것이다. 2차원 배열에서는 어떻게 집계함수를 활용할 수 있는지 보자.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
import numpy as np
a = np.arange(10).reshape((2, 5))
print('a = \n', a, '\n')
print('np.sum(a)\n =', np.sum(a), '\n')
print('np.max(a)\n =', np.max(a), '\n')
print('np.min(a)\n =', np.min(a), '\n')
print('np.mean(a)\n =', np.mean(a), '\n')
print('np.sum(a, axis = 0)\n =', np.sum(a, axis = 0), '\n')
print('np.max(a, axis = 0)\n =', np.max(a, axis = 0), '\n')
print('np.min(a, axis = 0)\n =', np.min(a, axis = 0), '\n')
print('np.mean(a, axis = 0)\n =', np.mean(a, axis = 0), '\n')
print('np.sum(a, axis = 1)\n =', np.sum(a, axis = 1), '\n')
print('np.max(a, axis = 1)\n =', np.max(a, axis = 1), '\n')
print('np.min(a, axis = 1)\n =', np.min(a, axis = 1), '\n')
print('np.mean(a, axis = 1)\n =', np.mean(a, axis = 1), '\n')
|
cs |
a =
[[0 1 2 3 4]
[5 6 7 8 9]]
np.sum(a)
= 45
np.max(a)
= 9
np.min(a)
= 0
np.mean(a)
= 4.5
np.sum(a, axis = 0)
= [ 5 7 9 11 13]
np.max(a, axis = 0)
= [5 6 7 8 9]
np.min(a, axis = 0)
= [0 1 2 3 4]
np.mean(a, axis = 0)
= [2.5 3.5 4.5 5.5 6.5]
np.sum(a, axis = 1)
= [10 35]
np.max(a, axis = 1)
= [4 9]
np.min(a, axis = 1)
= [0 5]
np.mean(a, axis = 1)
= [2. 7.]
axis = 0 또는 1을 설정하여 가로 방향으로 집계할 것인지, 세로 방향으로 집계할 것인지 설정할 수 있다. 2차원의 배열이더라도 axis 설정을 별도로 입력하지 않으면 그냥 단일 행과 동일하게 연산을 진행한다. axis = 0인 경우 세로 방향으로 집계하고 axis = 1인 경우 가로 방향으로 집계한다.
반응형
'IT > 파이썬(Python)' 카테고리의 다른 글
파이썬 데이터 프레임 인덱싱, 슬라이싱(loc, iloc) (0) | 2023.04.06 |
---|---|
파이썬 함수 지역변수와 전역변수 (0) | 2023.04.04 |
파이썬 Numpy 배열 연산(기본 연산, 행렬 간 연산, 브로드캐스팅, 마스킹 연산) (0) | 2023.04.02 |
파이썬 Numpy 배열 모양 바꾸기(reshape, concatenate, split) (0) | 2023.04.02 |
Numpy 배열 인덱싱(Indexing), 슬라이싱(Slicing) (0) | 2023.04.02 |