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)