Programing

파이썬 NumPy에서 np.mean () 대 np.average ()?

lottogame 2020. 5. 31. 09:51
반응형

파이썬 NumPy에서 np.mean () 대 np.average ()?


나는

In [30]: np.mean([1, 2, 3])
Out[30]: 2.0

In [31]: np.average([1, 2, 3])
Out[31]: 2.0

그러나 두 가지 기능이 있기 때문에 약간의 차이가 있습니다.

그들 사이의 차이점은 무엇입니까?


np.average는 선택적 무게 매개 변수를 사용합니다. 제공되지 않으면 동일합니다. 소스 코드를 살펴보십시오 : Mean , Average

np. 평균 :

try:
    mean = a.mean
except AttributeError:
    return _wrapit(a, 'mean', axis, dtype, out)
return mean(axis, dtype, out)

np. 평균 :

...
if weights is None :
    avg = a.mean(axis)
    scl = avg.dtype.type(a.size/avg.size)
else:
    #code that does weighted mean here

if returned: #returned is another optional argument
    scl = np.multiply(avg, 0) + scl
    return avg, scl
else:
    return avg
...

np.mean 항상 산술 평균을 계산하고 입력 및 출력에 대한 몇 가지 추가 옵션 (예 : 사용할 데이터 유형, 결과 위치)이 있습니다.

np.averageweights매개 변수가 제공 되면 가중 평균을 계산할 수 있습니다 .


일부 버전의 numpy 에는 알아야 할 또 다른 중요한 차이점이 있습니다.

average 마스크를 고려하지 않으므로 전체 데이터 세트에 대한 평균을 계산하십시오.

mean 마스크를 고려하므로 마스크되지 않은 값에 대해서만 평균을 계산하십시오.

g = [1,2,3,55,66,77]
f = np.ma.masked_greater(g,5)

np.average(f)
Out: 34.0

np.mean(f)
Out: 2.0

호출에서 두 기능은 동일합니다.

average 그러나 가중 평균을 계산할 수 있습니다.

문서 링크 : meanaverage

참고 URL : https://stackoverflow.com/questions/20054243/np-mean-vs-np-average-in-python-numpy

반응형