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 つの値、 4と12があることに注意してください。
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])
この関数は値4と12を正しく返します。
注: NumPy unique()関数の完全なドキュメントはここで見つけることができます。
追加リソース
次のチュートリアルでは、NumPy で他の一般的なタスクを実行する方法について説明します。