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 で他の平均値を計算する方法を説明します。