如何返回数组中最大值的位置

问题描述

如上所述,我想返回数组最大值的位置。例如,如果我有数组:

A = np.matrix([[1,2,3,33,99],[4,5,6,66,22],[7,8,9,99,11]])

np.argmax(A)仅返回最大的第一个值,在这种情况下为4。但是,如何编写代码,使其返回[4,13]。也许有比argamax()更好的功能,因为我真正需要的只是最终最大值的位置。

解决方法

找到数组的最大值,然后使用PR 345

{'key': 'yes','cool': 'yes'}

之后,只需索引元组的第二个元素。请注意,我们必须调整数组的形状以获取您感兴趣的索引。

,

由于您提到您只对最大值的最后一个位置感兴趣,因此可能有一个稍快的解决方案:

A.size - 1 - np.argmax(A.flat[::-1])

这里:

A.flatA的平面视图。

A.flat[::-1]是该平面图的反向视图。

np.argmax(A.flat[::-1])返回该最大值的第一个匹配项。