Подтвердить что ты не робот

Как найти максимальное значение в столбце массива numpy?

Я могу найти немало перестановок этого вопроса, но не этот (довольно простой): как я могу найти максимальное значение определенного столбца массива 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])

Что работает, но не кажется наилучшим подходом.

Предложения?

4b9b3361

Ответ 1

Просто распакуйте список:

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

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