如何在整个二维数组中找到带有索引的最大值[重复]


问题内容

这个问题已经在这里有了答案

如何沿一个轴获取NumPy数组中最大元素的索引 (5个答案)

去年关闭。

我想使用NumPy在2D数组中找到最大值,并在Python中找到最大值的索引。我用了

np.amax(array)

用于搜索最大值,但我不知道如何获取其索引。我可以通过使用“ for”循环来找到它,但是也许有更好的方法。


问题答案:

请参考此答案,该答案还详细说明了如何找到最大值及其(1D)索引,您可以使用argmax()

>>> a = array([[10,50,30],[60,20,40]])
>>> maxindex = a.argmax()
>>> maxindex
3

然后,您可以使用unravel_index(a.argmax(), a.shape)获取索引作为元组:

>>> from numpy import unravel_index
>>> unravel_index(a.argmax(), a.shape)
(1, 0)