我有一个包含整数(正数或负数)的2D数组。每行表示特定空间站点随时间变化的值,而每列表示给定时间内各种空间站点的值
因此,如果数组如下所示:
123427
5 2 2 1 4 1
3 3 2 2 1 1
结果应该是
1232 1
注意,当模式有多个值时,任何一个(随机选择)都可以设置为模式
我可以一次迭代一列查找模式,但我希望numpy可能有一些内置函数来实现这一点。或者如果有一个技巧可以在不循环的情况下高效地找到它
检查scipy.stats.mode()(灵感来自@tom10的评论):
将numpy导入为np
从scipy导入统计信息
a=np.数组([[1,3,4,2,2,7],
[5, 2, 2, 1, 4, 1],
[3, 3, 2, 2, 1, 1]])
m=统计模式(a)
打印(m)
输出:
ModeResult(模式=数组([[1,3,2,2,1,1]]),计数=数组([[1,2,2,2,1,2]]))
如您所见,它返回模式和计数。您可以通过m[0]直接选择模式:
打印(m[0])
输出:
[[1 3 2 2 1]]