logo

Python の numpy.average()

Python の numpy モジュールには、指定された軸に沿った加重平均を計算するために使用される numpy.average() という関数が用意されています。

夕食と夕食の時間

構文:

 numpy.average(a, axis=None, weights=None, returned=False) 

パラメーター:

x: 配列のようなもの

このパラメータは、要素の平均を計算するソース配列を定義します。 「x」が配列の場合、変換が試行されます。

軸: int または None または int のタプル (オプション)

このパラメータは、平均が計算される軸を定義します。デフォルトでは、軸は「なし」に設定されており、ソース配列のすべての要素の平均が計算されます。軸の値が負の場合、終了軸から開始軸までカウントが開始されます。

重み : array_like (オプション)

このパラメータは、配列値に関連付けられた重みを含む配列を定義します。配列要素の各値を合わせて、関連する重みに従って平均を作成します。重み付けされた配列は、1 次元にすることも、入力配列と同じ形状にすることもできます。配列要素に関連付けられた重みがない場合、重みはすべての要素に対して 1 として扱われます。

返される値: ブール値(オプション)

デフォルトでは、このパラメータは False に設定されています。これを True に設定すると、average と sum_of_weights のタプルが返されます。 False の場合、平均が返されます。重みの値がない場合、重み付き合計は要素の数と等しくなります。

戻り値:

retval、[sum_of_weights]: array_type または double

この関数は、返されたパラメータに応じて、平均値、または平均値と sum_of_weights の両方を返します。

発生するもの:

ゼロディビジョンエラー

このエラーは、軸に沿ったすべてのウェイトがゼロに設定されている場合に発生します。

前方連鎖

タイプエラー

このエラーは、重み付けされた配列の長さが入力配列の形状と同じでない場合に発生します。

例 1:

 import numpy as np data = list(range(1,6)) output=np.average(data) data output 

出力:

組合対全組合
 [1, 2, 3, 4, 5] 3.0 

上記のコードでは次のようになります。

  • numpy をエイリアス名 np でインポートしました。
  • 要素のリストを作成しました 'データ'
  • 変数を宣言しました '出力' そして戻り値を代入しました 平均() 関数。
  • 私たちはリストを通過しました 'データ' 関数内で。
  • 最後に、印刷してみました 'データ' そして '出力'

出力では、リスト要素の平均が表示されます。

例 2:

 import numpy as np output=np.average(range(1,16), weights=range(15,0,-1)) output 

出力:

 5.666666666666667 

例 3:

 import numpy as np data=np.arange(12).reshape((4,3)) output = np.average(data, axis=1, weights=[1./4, 3./4, 5./4]) data output 

出力:

 array([[ 0, 1, 2], [ 3, 4, 5], [ 6, 7, 8], [ 9, 10, 11]]) array([ 1.44444444, 4.44444444, 7.44444444, 10.44444444]) 

上記のコードでは次のようになります。

  • numpy をエイリアス名 np でインポートしました。
  • 配列を作成しました 'データ' 使用して アレンジ() そして np.reshape() 関数。
  • 変数を宣言しました '出力' そして戻り値を代入しました 平均() 関数。
  • 配列を渡しました 'データ' 、軸を 1 に設定し、関数で重み付けされた配列を設定します。
  • 最後に、印刷してみました 'データ' そして '出力'

出力では、配列内の各列要素の平均が表示されます。

例 4:

 import numpy as np data=np.arange(12).reshape((4,3)) data np.average(data, weights=[1./4, 3./4, 5./4]) 

出力:

 array([[ 0, 1, 2], [ 3, 4, 5], [ 6, 7, 8], [ 9, 10, 11]]) Traceback (most recent call last): File '', line 1, in File 'C:Python27libsite-packages
umpylibfunction_base.py', line 406, in average 'Axis must be specified when shapes of data and weights.' TypeError: Axis must be specified when shapes of data and weights differ. 

注: 出力には型エラーが表示されます。「weights」配列の形状が入力配列 'data' と同じではないため、「データと重みの形状が異なる場合は軸を指定する必要があります」というエラーが表示されます。