2014-03-02 6 views
18

Ich kann einige Permutationen dieser Frage finden, aber nicht diese (eher einfache): Wie finde ich den maximalen Wert einer bestimmten Spalte eines numply array (in der pythischsten Art)?Wie finden Sie den maximalen Wert in einer numply Array-Spalte?

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

Was ich will, ist der höchste Wert in der ersten Spalte und zweiten Spalte (diese sind x, y-Koordinaten, und ich brauche schließlich die Höhe und Breite jeder Form), so max x-Koordinate 10 ist und max y Koordinate 6.

ich habe versucht:

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

aber diese Ausbeute

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

.. .nicht das was ich erwartet habe.

Meine Lösung ist Scheiben zu verwenden:

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

Welche funktioniert, aber scheint nicht zu den besten Ansatz.

Vorschläge?

Antwort

30

entpacken Sie einfach die Liste:

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

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