1. ホーム
  2. python

[解決済み] Python NumPyのnp.mean()とnp.average()の比較?

2022-02-16 09:25:31

質問

気がつくと

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

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

しかし、結局のところ、これらは2つの異なる機能であるため、いくつかの相違点があるはずです。

両者の違いは何でしょうか?

どのように解決するのですか?

np.averageはオプションでweightパラメータを取ります。 もし、それが与えられないなら、それらは同等です。 ソースコードを見てみましょう。 平均値 , 平均値

np.mean:

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

np.average。

...
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
...