如何在numpy数组列中找到最大值?

The*_*her 26 python arrays numpy

我可以找到这个问题的相当多的排列,但不是这个(相当简单)一个:如何找到numpy数组的特定列的最大值(以最pythonic的方式)?

a = array([[10, 2], [3, 4], [5, 6]])
Run Code Online (Sandbox Code Playgroud)

我想要的是第一列和第二列中的最大值(这些是x,y坐标,我最终需要每个形状的高度和宽度),因此max x坐标为10,max y坐标为6.

我试过了:

xmax = numpy.amax(a,axis=0)
ymax = numpy.amax(a,axis=1)
Run Code Online (Sandbox Code Playgroud)

但这些产量

array([10, 6])
array([10, 4, 6])
Run Code Online (Sandbox Code Playgroud)

......不是我的预期.

我的解决方案是使用切片:

xmax = numpy.max(a[:,0])
ymax = numpy.max(a[:,1])
Run Code Online (Sandbox Code Playgroud)

哪个有效,但似乎不是最好的方法.

建议?

zha*_*hen 38

只需解压缩列表:

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

In [274]: print xmax, ymax
#10 6
Run Code Online (Sandbox Code Playgroud)