计算 NumPy 中数组的众数
本教程将介绍如何在 Python 中计算 NumPy 数组的众数。
使用 scipy.stats.mode()
函数计算 NumPy 数组的众数
众数是集合中重复次数最多的值。scipy.stats
库包含许多与统计相关的函数。scipy.stats
库中的 mode()
函数 在 Python 中查找数组的模式。它接受一个数组作为输入参数并返回输入数组中最常见值的数组。为了让这个方法起作用,我们必须安装 scipy
包。下面给出了安装它的命令。
pip install scipy
以下代码示例向我们展示了如何使用 scipy.stats.mode()
函数计算 NumPy 数组内的模式。
import numpy as np
from scipy import stats
array = np.array([1,2,3,4,4,5])
mode = stats.mode(array)
print(mode[0])
输出:
[4]
我们首先使用 np.array()
函数创建了数组 array
。然后我们使用 scipy.stats.mode()
函数计算模式并将结果存储在 mode
数组中。最后,我们通过打印 mode
数组的第一个元素来显示重复次数最多的值。
使用 numpy.unique()
函数计算 NumPy 数组的众数
如果我们只想使用 NumPy
包来查找模式,我们可以使用 numpy.unique()
函数。numpy.unique()
函数 将数组作为输入参数,并返回输入数组内所有唯一元素的数组。我们还可以将 return_count
参数指定为 True
以获取每个唯一元素在输入数组中重复的次数。
import numpy as np
array = np.array([1,2,3,4,4,5])
vals,counts = np.unique(array, return_counts=True)
index = np.argmax(counts)
print(vals[index])
输出:
4
在上面的代码中,我们使用 Python 中的 np.unique()
和 np.argmax()
函数计算了 NumPy 数组 array
的众数。我们首先使用 np.array()
函数创建了数组 array
。然后我们使用 np.unique()
函数并将唯一值存储在 vals
数组中,每个值在 counts
数组中重复的次数。然后我们使用 np.argmax()
函数计算 counts
数组中的最大值,并将该值存储在 index
变量中。最后,我们通过在 vals
数组的 index
索引处打印值来显示模式。
Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.
LinkedIn