2014-03-02 67 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