Numpy 配列で最も頻度の高い値を見つける方法 (例付き)


次のメソッドを使用して、NumPy 配列内の最も頻度の高い値を見つけることができます。

方法 1: 最も頻度の高い値を見つける

 #find frequency of each value
values, counts = np. unique (my_array, return_counts= True )

#display value with highest frequency
values[counts. argmax ()]

NumPy 配列内で複数の値が最も頻繁に出現する場合、このメソッドは最初の値のみを返します。

方法 2: それぞれの最頻値を見つける

 #find frequency of each value
values, counts = np. unique (my_array, return_counts= True )

#display all values with highest frequencies
values[counts == counts. max ()]

NumPy 配列に複数の値が最も頻繁に出現する場合、このメソッドは最も頻繁に出現する値をそれぞれ返します。

次の例は、各メソッドを実際に使用する方法を示しています。

例 1: NumPy 配列で最も頻度の高い値を見つける

次の NumPy 配列があるとします。

 import numpy as np

#create NumPy array
my_array = np. array ([1, 2, 4, 4, 4, 5, 6, 7, 12])

この表に最も頻繁に現れる値は4だけであることに注意してください。

argmax()関数を使用すると、配列内で最も頻繁に出現する値を返すことができます。

 #find frequency of each value
values, counts = np. unique (my_array, return_counts= True )

#display value with highest frequency
values[counts. argmax ()]

4

この関数は値4を正しく返します。

例 2: NumPy 配列内の各最頻値を検索します。

次の NumPy 配列があるとします。

 import numpy as np

#create NumPy array
my_array = np. array ([1, 2, 4, 4, 4, 5, 6, 7, 12, 12, 12])

この表に最も頻繁に現れる 2 つの値、 412があることに注意してください。

max()関数を使用して、配列内で最も頻繁に出現する各値を返すことができます。

 #find frequency of each value
values, counts = np. unique (my_array, return_counts= True )

#display each value with highest frequency
values[counts == counts. max ()]

array([4,12])

この関数は値412を正しく返します。

: NumPy unique()関数の完全なドキュメントはここで見つけることができます。

追加リソース

次のチュートリアルでは、NumPy で他の一般的なタスクを実行する方法について説明します。

NumPy配列の重複要素を削除する方法
NumPy配列内の要素を置換する方法
NumPy 配列の要素を並べ替える方法

コメントを追加する

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