본문 바로가기
공부한 것들../Numpy

Numpy 집계 함수

by bottle-an00 2024. 9. 12.

# 집계함수..?

 집계 함수(Aggregate Function)는 데이터를 종합하여 특정 연산을 적용하는 함수를 일컫는 말이다. Numpy의 집계함수는 아래와 같이 정리할 수 있다. 

 

  • sum() :합
  • min() : 최소값
  • max() : 최대값
  • cumsum() : 누적합 
  • mean() : 평균
  • median() : 중앙값
  • corrcoef() : 상관계수
  • std() : 표준편차
  • unique() : 고유값

집계 함수의 사용법은 아래와 같다. 

#방법 1
array.sum()

#방법 2
np.sum(array)

 

사용법은 간단하나 중요한 것은 데이터의 집계방향을 신경써줘야 한다는 것이다.

 

직관적인 함수들이기에 API Reference는 생략하고 예시 코드로 데이터의 집계 방향에 대해서 기록하도록 한다. 

 

# 예시 코드 :: 집계함수 사용과 집계 방향 설정에 따른 차이점 

import numpy as np

a = np.arange(1,10,1)
a.resize(3,3)
print("A :: ")
print(a)

print("\n[Axis = None]")
print("Sum of A :: ",np.sum(a))
print("mean of A :: ",np.mean(a))
print("std of A :: ",np.std(a))
print("max of A :: ",np.max(a))
print("min of A :: ",np.min(a))

print("\n[Axis = 0]")
print("Sum of A :: ",np.sum(a,axis=0))
print("mean of A :: ",np.mean(a,axis=0))
print("std of A :: ",np.std(a,axis=0))
print("max of A :: ",np.max(a,axis=0))
print("min of A :: ",np.min(a,axis=0))

print("\n[Axis = 1]")
print("Sum of A :: ",np.sum(a,axis=1))
print("mean of A :: ",np.mean(a,axis=1))
print("std of A :: ",np.std(a,axis=1))
print("max of A :: ",np.max(a,axis=1))
print("min of A :: ",np.min(a,axis=1))
A :: 
[[1 2 3]
 [4 5 6]
 [7 8 9]]

#axis를 설정하지 않으면 a배열 전체에 집계함수가 적용된다
[Axis = None]
Sum of A ::  45
mean of A ::  5.0
std of A ::  2.581988897471611
max of A ::  9
min of A ::  1

#axis를 설정하면 각 axis 방향으로 집계함수가 적용되는 것을 볼 수 있다. 
[Axis = 0]
Sum of A ::  [12 15 18]
mean of A ::  [4. 5. 6.]
std of A ::  [2.44948974 2.44948974 2.44948974]
max of A ::  [7 8 9]
min of A ::  [1 2 3]

#axis를 다른 방향으로 설정하면 그 방향에 맞게 집계함수가 적용되는 것을 볼 수 있다. 
[Axis = 1]
Sum of A ::  [ 6 15 24]
mean of A ::  [2. 5. 8.]
std of A ::  [0.81649658 0.81649658 0.81649658]
max of A ::  [3 6 9]
min of A ::  [1 4 7]

 

'공부한 것들.. > Numpy' 카테고리의 다른 글

Numpy 데이터 정렬  (0) 2024.09.12
Numpy 데이터 조회를 위한 인덱싱 및 슬라이싱  (0) 2024.09.12
Numpy 기본 연산  (0) 2024.09.12
Numpy ndarray shape 변경  (0) 2024.09.12
Numpy :: 데이터 타입  (0) 2024.09.12