Python:获取数组中最大项的位置

我怎样才能得到一个多维的numpyarrays中最大的项目的位置?

argmax()方法应该有所帮助。

更新

(阅读评论后)我相信argmax()方法也适用于multidimensional array。 链接的文档给出了一个例子:

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

更新2

(感谢KennyTM的评论)你可以使用unravel_index(a.argmax(), a.shape)来获取索引作为元组:

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

(编辑)我指的是一个已被删除的旧答案 。 接受的答案是在我的后面。 我同意argmax比我的答案好。

这样做会不会更具可读性?

 numpy.nonzero(a.max() == a) (array([1]), array([0])) 

要么,

 numpy.argwhere(a.max() == a)