NumPy で配列のモードを計算する
このチュートリアルでは、Python で NumPy 配列のモードを計算する方法を紹介します。
scipy.stats.mode()
関数を使用して NumPy 配列の最頻値を計算する
モードは、コレクション内で最も繰り返される値です。scipy.stats
ライブラリには、統計に関連する多くの関数が含まれています。scipy.stats
ライブラリ内の mode()
関数は、Python で配列のモードを検索します。配列を入力引数として受け取り、入力配列内で最も一般的な値の配列を返します。この方法を機能させるには、scipy
パッケージをインストールする必要があります。インストールするコマンドを以下に示します。
pip install scipy
次のコード例は、scipy.stats.mode()
関数を使用して NumPy 配列内のモードを計算する方法を示しています。
import numpy as np
from scipy import stats
array = np.array([1, 2, 3, 4, 4, 5])
mode = stats.mode(array)
print(mode[0])
出力:
[4]
最初に、np.array()
関数を使用して配列 array
を作成しました。次に、scipy.stats.mode()
関数を使用してモードを計算し、その結果を mode
配列内に保存しました。最後に、mode
配列の最初の要素を出力することにより、最も繰り返される値を表示しました。
numpy.unique()
関数を使用して NumPy 配列のモードを計算する
NumPy
パッケージを使用してモードを検索する場合は、numpy.unique()
関数を使用できます。numpy.unique()
関数は、入力引数として配列を受け取り、入力配列内のすべての一意の要素の配列を返します。return_count
パラメーターを True
に指定して、各一意の要素が入力配列内で繰り返される回数を取得することもできます。
import numpy as np
array = np.array([1, 2, 3, 4, 4, 5])
vals, counts = np.unique(array, return_counts=True)
index = np.argmax(counts)
print(vals[index])
出力:
4
上記のコードでは、Python の np.unique()
関数と np.argmax()
関数を使用して、NumPy 配列 array
のモードを計算しました。最初に、np.array()
関数を使用して配列 array
を作成しました。次に、np.unique()
関数を使用して、一意の値を vals
配列内に格納し、各値が counts
配列内で繰り返される回数。次に、np.argmax()
関数を使用して counts
配列内の最大値を計算し、その値を index
変数内に格納しました。最後に、vals
配列の index
インデックスに値を出力してモードを表示しました。
Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.
LinkedIn