Numpy mean() と average() の違いは何ですか?


np.mean()関数またはnp.average()関数を使用して、Python で配列の平均値を計算できます。

2 つの関数の微妙な違いは次のとおりです。

  • np.mean は常に算術平均を計算します。
  • np.average には、加重平均を計算するために使用できるオプションの重みパラメーターがあります。

以下の例は、各機能の実際の使用方法を示しています。

例 1: 重みを付けずに np.mean() と np.average() を使用する

Python に 7 つの値を含む次のテーブルがあるとします。

 #create array of values
data = [1, 4, 5, 7, 8, 8, 10]

np.mean()np.average()を使用して、この配列の平均値を計算できます。

 import numpy as np

#calculate average value of array
n.p. mean (data)

6.142857142857143

#calculate average value of array
n.p. average (data)

6.142857142857143

どちらの関数もまったく同じ値を返します。

どちらの関数も次の式を使用して平均を計算しました。

平均 = (1 + 4 + 5 + 7 + 8 + 8 + 10) / 7 = 6.142857

例 2: 重みを指定して np.average() を使用する

もう一度、Python に 7 つの値を含む次の配列があると仮定してみましょう。

 #create array of values
data = [1, 4, 5, 7, 8, 8, 10]

np.average()を使用して、重みパラメータに値のリストを指定することで、この配列の加重平均を計算できます。

 import numpy as np

#calculate weighted average of array
n.p. average (data, weights=(.1, .2, .4, .05, .05, .1, .1))

5.45

加重平均は5.45であることがわかります。

この値を計算するためにnp.average()で使用される式は次のとおりです。

加重平均 = 1*.1 + 4*.2 + 5*.4 + 7*.05 + 8*.05 + 8*.1 + 10*.1 = 5.45

この関数には重みパラメータがないため、 np.mean()を使用してこの計算を実行できないことに注意してください。

np.mean()関数とnp.average()関数の完全な説明については、NumPy のドキュメントを参照してください。

追加リソース

次のチュートリアルでは、Python で他の平均値を計算する方法を説明します。

Python で移動平均を計算する方法
Python で累積平均を計算する方法

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です