如何计算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 数组具有三种模式: 245

我们还可以看到,这些值每个都在表中出现了3次。

其他资源

以下教程解释了如何在 NumPy 中执行其他常见操作:

如何将函数映射到 NumPy 数组
如何在 NumPy 数组中查找值索引
如何使用 NumPy 计算向量的大小

添加评论

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