如何查找 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])
请注意,此表中出现最频繁的有两个值: 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 中执行其他常见任务: