Python Data/Python 실행

Numpy mean() vs average(): 차이점

palefaceman 2022. 8. 29. 00:14

파이썬에서 np.mean(), np.average()로 배열(array)에 평균을 구할 수 있다. 

 

두 함수에서는 작은 차이가 있다. 

  • np.mean(): 산술평균을 계산한다.
  • np.average(): 가중치가 옵션으로 추가 입력할 수 있어 가중평균을 구할 수 있다. 

예시 1: np.mean(), np.average() 가중치 옵션 없이 사용하기

아래의 배열이 있다.

# 배열 생성
data = [1, 4, 5, 7, 8, 8, 10]

np.mean()np.average()를 사용하여 평균을 구해본다.

import numpy as np

# 평균 구하기
np.mean(data)

6.142857142857143

# 평균 구하기 2
np.average(data)

6.142857142857143

두 함수가 같은 값을 반환한다.

 

두 함수 모두 아래와 같은 수식을 통해 반환 값을 계산한다.

 

평균 = (1+4+5+7+8+8+10)/7 = 6.142857

 

예시 2: np.average()를 가중치를 넣어 사용하기

다시 한번 배열이 있다.

# 배열 생성
data = [1, 4, 5, 7, 8, 8, 10]

np.average()에 가중치 옵션을 사용하여 가중평균을 구할 수 있다. 

import numpy as np

# 가중평균(weighted average) 구하기
np.average(data, weights=(.1, .2, .4, .05, .05, .1, .1))

5.45

가중평균은 5.45np.average() 함수를 이용해서 구할 수 있었다.

 

가중평균(weighted average) = 1*0.1 + 4*0.2 + 5*0.4 + 7*0.05 + 8*0.05 + 8*0.1 + 10*0.1 = 5.45

 

np.mean() 함수는 가중치를 사용하는 옵션을 제공하지 않으므로 가중평균(wiehgted average)을 구할 수 없다.