Python numpy.average()関数

Vaibhhav Khetarpal 2023年1月30日
  1. Python numpy.average() 関数
  2. Python で numpy.average() 関数を実装する
  3. numpy.mean() 関数との比較
Python numpy.average()関数

NumPy ライブラリによって提供されるいくつかの関数は、Python でのコーディング中にさまざまな分野で役立つために広く利用されています。それらの 1つは、この記事の焦点となる numpy.average() 関数です。

このチュートリアルでは、numpy.average() 関数と、NumPy ライブラリを使用して Python で実装する方法について説明します。

Python numpy.average() 関数

numpy.average() 関数は、その名前が示すように、NumPy ライブラリによって提供される関数のリストの下にある機能です。このライブラリは、数値の処理と特定の操作の実行を容易にする重要で人気のあるライブラリです。。

簡単に言うと、numpy.average() 関数を使用して、指定する必要のある軸に沿った特定の配列のような構造の加重平均を計算します。

読者が理解しやすいように、numpy.average() の構文とそのパラメーターについて以下で説明します。

numpy.average(a, axis=None, weights=None, returned=False, *, keepdims= < no value >)

この機能に関連するパラメータについては、以下でさらに説明します。

  1. a-関数が動作するオブジェクトです。この場合、それは配列のような構造です。そうでない場合は、自動変換プロセスが試行される可能性があります。
  2. axis-平均を計算する必要のある 1つまたは複数の軸は、このパラメーターで指定/保存されます。
  3. weights-配列 a の要素の重みをそれぞれ含む a のサイズに類似した配列。
  4. パラメーターreturned および keepdims はオプションであり、このコードで使用されている例とは無関係です。ただし、どちらも好奇心旺盛な読者のためにインターネットで簡単に見つけることができます。

Python で numpy.average() 関数を実装する

numpy.average() 関数の実装は簡単で、初心者でも簡単に理解できます。

次のコードは、numpy.average() 関数を実装しています。

import numpy as np

a = [10, 20, 30, 80]
b = np.average(a)
print(b)

上記のコードは次の出力を提供します。

35.0

numpy.mean() 関数との比較

一見すると、numpy.average() 関数と numpy.mean() 関数の両方が同じタスクを実行するように見え、一般的な数値シナリオでは、同じ結果を提供します。

上記の例を見て、リストの平均と平均を計算してみましょう。

import numpy as np

a = [10, 20, 30, 80]
b = np.average(a)
c = np.mean(a)
print(b)
print(c)

上記のコードは次の出力を提供します。

35.0
35.0

ただし、どちらにも独自のアクションがあり、それぞれが異なります。

numpy.average() 関数には、指定された配列のような構造の加重平均を計算できる weight パラメーターが含まれています。この機能は numpy.mean() 関数に欠けています。

さらに、numpy.mean() 関数には dtype パラメーターがあり、数値だけでなく、関数に渡される可能性のあるあいまいなオブジェクトに対して関数を機能させるのに役立ちます。一方、numpy.average() 関数にはこの機能がなく、整数に対してのみ機能します。

また、numpy.mean() 関数はマスクを考慮に入れていることにも注意してください。つまり、この関数を使用して計算された平均は、マスクされていない値のみを考慮します。ただし、numpy.average() はマスクの概念を取り入れていません。

Vaibhhav Khetarpal avatar Vaibhhav Khetarpal avatar

Vaibhhav is an IT professional who has a strong-hold in Python programming and various projects under his belt. He has an eagerness to discover new things and is a quick learner.

LinkedIn