2014-03-02 63 views
18

我可以找到這個問題的相當多的排列,但不是這個(相當簡單):我怎麼找到一個numpy數組的特定列的最大值(以最pythonic的方式)?如何在numpy數組列中查找最大值?

a = array([[10, 2], [3, 4], [5, 6]]) 

我想是在第一列和第二列中的最大值(這是x,y座標和我最終需要每個形狀的高度和寬度),因此最大x座標是10和最大值爲y座標6.

我已經試過:

xmax = numpy.amax(a,axis=0) 
ymax = numpy.amax(a,axis=1) 

但這些產量

array([10, 6]) 
array([10, 4, 6]) 

..不是我所期望的。

我的解決辦法是使用切片:

xmax = numpy.max(a[:,0]) 
ymax = numpy.max(a[:,1]) 

哪些工作,但似乎並沒有最好的方法。

對此提出建議?

回答

30

只要解表:

In [273]: xmax, ymax = a.max(axis=0) 

In [274]: print xmax, ymax 
#10 6