对于单个数组,有很多解决方案可以做到这一点,但是矩阵呢?例如:
>>> k
array([[ 35, 48, 63],
[ 60, 77, 96],
[ 91, 112, 135]])
您可以使用
k.max()
,但是当然这只会返回最大值135
。如果我想要第二或第三怎么办? 最佳答案
您可以flatten矩阵,然后对其进行排序:
>>> k = np.array([[ 35, 48, 63],
... [ 60, 77, 96],
... [ 91, 112, 135]])
>>> flat=k.flatten()
>>> flat.sort()
>>> flat
array([ 35, 48, 60, 63, 77, 91, 96, 112, 135])
>>> flat[-2]
112
>>> flat[-3]
96
关于python - 在numpy矩阵中找到第n个最大值的最快方法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33181350/