在 NumPy 数组中查找最频繁的值
在本文中,我们将讨论如何在 NumPy 数组中找到最频繁的值。
在 NumPy 数组中查找频率最高值的步骤:
- 创建一个 NumPy 数组。
- 应用 NumPy 的 bincount() 方法来获取数组中每个元素的出现次数。
- n,应用 argmax() 方法来获取具有最大出现次数(频率)的值。
示例 1:
Python3
import numpy as np
# create array
x = np.array([1,2,3,4,5,1,2,1,1,1])
print("Original array:")
print(x)
print("Most frequent value in the above array:")
print(np.bincount(x).argmax())
Python3
import numpy as np
x = np.array([1, 1, 1, 2, 3, 4, 2, 4, 3, 3, ])
print("Original array:")
print(x)
print("Most frequent value in above array")
y = np.bincount(x)
maximum = max(y)
for i in range(len(y)):
if y[i] == maximum:
print(i, end=" ")
输出:
1
此代码将仅生成单个输出,如果数组包含多个具有最大频率数的元素,它将无法正常工作。
示例 2:如果数组具有多个具有最大频率的元素
Python3
import numpy as np
x = np.array([1, 1, 1, 2, 3, 4, 2, 4, 3, 3, ])
print("Original array:")
print(x)
print("Most frequent value in above array")
y = np.bincount(x)
maximum = max(y)
for i in range(len(y)):
if y[i] == maximum:
print(i, end=" ")
输出:
1 3