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

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

2 Solutions collect form web for “Python:获取数组中最大项的位置”

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) 
  • 为什么我的xlabel在我的matplotlib图中被切断?
  • 如何退出Python没有回溯?
  • 我如何分析一个SQLAlchemy驱动的应用程序?
  • Python:重新加载组件Y与'从X导入Y'导入?
  • Pymysql插入到不工作
  • find每行有最大值的列名
  • Python中While循环中的赋值?
  • 最喜欢的Django提示和function?
  • Djangoauthentication和Ajax - 需要login的URL
  • 使用pandas的相关matrix
  • Tkinter:“Python可能没有configuration为Tk”