如何计算numpy数组模式(附示例)
您可以使用以下基本语法来查找 NumPy 数组的众数:
#find unique values in array along with their counts
vals, counts = np. unique (array_name, return_counts= True )
#find fashion
mode_value = np. argwhere (counts == np. max (counts))
请记住,众数是表中最常出现的值。
请注意,数组可以具有一种或多种模式。
以下示例展示了如何在实践中使用此语法。
示例1:用单一模式计算NumPy数组模式
以下代码显示了如何查找只有一种众数的 NumPy 数组的众数:
import numpy as np #create NumPy array of values with only one mode x = np. array ([2, 2, 2, 3, 4, 4, 5, 5, 5, 5, 7]) #find unique values in array along with their counts vals, counts = np. unique (x, return_counts= True ) #find fashion mode_value = np. argwhere (counts == np. max (counts)) #print list of modes print (vals[mode_value] .flatten (). tolist ()) [5] #find how often mode occurs print (np. max (counts)) 4
从输出中我们可以看到众数为5 ,并且在 NumPy 数组中出现了4次。
示例2:如何计算多种模式的NumPy数组
以下代码展示了如何查找有多种众数的 NumPy 数组的众数:
import numpy as np #create NumPy array of values with multiple modes x = np. array ([2, 2, 2, 3, 4, 4, 4, 5, 5, 5, 7]) #find unique values in array along with their counts vals, counts = np. unique (x, return_counts= True ) #find fashion mode_value = np. argwhere (counts == np. max (counts)) #print list of modes print (vals[mode_value] .flatten (). tolist ()) [2, 4, 5] #find how often mode occurs print (np. max (counts)) 3
从输出中,我们可以看到这个 NumPy 数组具有三种模式: 2 、 4和5 。
我们还可以看到,这些值每个都在表中出现了3次。
其他资源
以下教程解释了如何在 NumPy 中执行其他常见操作: