Python/Numpy

[Python] 파이썬 Numpy 합계, 평균, 분산, 표준편차 - sum, mean, var, std

나비🦋 2024. 2. 29. 19:32
반응형

안녕하세요! 나비입니다 🦋

이번 포스팅에서는 파이썬 numpy의 통계 계산 관련 함수인 sum, mean, var, std에 대해서 다뤄볼 계획입니다.

“통계”의 기본 지표는 합계, 평균, 분산, 표준편차라는 것은 여러분 모두가 알고 계실 텐데요! 위에서 언급한 네 가지 메소드는 순서대로 합, 평균, 분산, 표준편차를 계산해주는 함수입니다.

sum, mean, var, std 모두 수행하는 기능만 다를 뿐, 함수가 작동하는 코드와 원리 자체는 똑같아서 함수 하나만 제대로 이해하시면 나머지는 자동적으로 알게 되실 것이라고 생각됩니다.

예제 코드와 함께 순서대로 알아볼게요!!


numpy.sum

sum은 함수 이름 그대로, 입력된 값들의 합계를 구하는 메소드입니다. sum 함수가 요구하는 인수 개수에는 제한이 없습니다. 배열로 입력해주시면 됩니다.

그리고 “axis”를 사용해서 합계를 구하는 방식을 조정할 수 있는데요, 이에 대해서는 아래 예제에서 설명해 보겠습니다.

import numpy as np

A = np.sum([1, 2], [3, 4])
B = np.sum([1, 2], [3, 4], axis = 0)
C = np.sum([1, 2], [3, 4], axis = 1)

print(A)
print(B)
print(C)

A의 경우에는 axis(축)을 따로 지정하지 않았기 때문에, 입력된 모든 요소를 다 더합니다. 1 + 2 + 3 + 4를 수행한 후 10을 출력합니다.

반면, B와 C에는 axis과 0 또는 1로 지정되어 있습니다. axis = 0의 경우에는 세로로 더하고, 1의 경우에는 가로로 더합니다.

즉, B는 [4 , 6]이고, C의 결과는 [3, 7]입니다.


numpy.mean

mean 함수도 마찬가지입니다. sum과 동일하게 인수 개수에 제한이 없으며, axis를 통해 출력을 조절할 수 있습니다. 바로 예제를 가보실게요!

import numpy as np

A = np.array([[1, 2], [3, 4]])

A_mean = np.mean(A)
A_mean0 = np.mean(A, axis=0)
A_mean1 = np.mean(A, axis=1)

print(A_mean)
print(A_mean0)
print(A_mean1)
2.5
[2.0, 3.0]
[1.5, 3.5]

axis 지정 없이 그냥 mean 함수를 돌린 경우에는 1, 2, 3, 4를 통째로 평균을 내서 2.5를 출력합니다.

axis = 0의 경우 1과 3, 2와 4를 평균 내서 array로 반환하고, axis=1인 경우에는 반대로 작업을 수행합니다.


여기까지 읽으셨다면 axis에 대해서는 충분히 이해하셨을 것이라 생각이 되어, 뒤에 나오는 var(분산)와 std(표준편차)는 한글 설명 없이 코드만 보여드리겠습니다.


numpy.var

import numpy as np

A = np.array([[1,2], [3,4]])
A_var = np.var(A)
A_var0 = np.var(A, axis=0)
A_var1 = np.var(A, axis=1)

print(A_var)
print(A_var0)
print(A_var1)
1.25
[1.0, 1.0]
[0.25, 0.25]



numpy.std

import numpy as np

A = np.array([[1,1], [2,2]])
A_std = np.std(A)
A_std0 = np.std(A, axis=0)
A_std1 = np.std(A, axis=1)

print(A_std)
print(A_std0)
print(A_std1)
0.5
[0.5, 0.5]
[0.0, 0.0]




네! 여기까지 해서 파이썬 numpy의 통계 관련 함수인 sum, mean, var, std에 대해서 알아보았습니다. 동시에 axis의 쓰임도 살펴보았는데요!

긴 글 읽어주셔서 감사드리며, 도움이 되셨다면 구독과 좋아요 부탁드려요!! ✨

반응형