如何查找 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])

请注意,此表中出现最频繁的有两个值: 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 数组中的元素进行排序

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注