Arrays vergleichen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Benutzeravatar
tromai
User
Beiträge: 92
Registriert: Mittwoch 26. April 2006, 11:20

Hallo zusammen,

ich suche nach einer Möglichkeit in Scipy ( /Numpy) zwei oder mehr 2D-Arrays miteinander zu vergleichen.

Um genau zu sein möchte ich aus den beiden gleichgroßen Arrays die Maximalwerte für jede "Zelle" und das ganze dann in einen neuen Array abspeichern.

Bsp.:

Code: Alles auswählen

a= [[ 0, 1, 2]
[ 3, 4, 5]
[ 6, 7, 8]]

b= [[ 8, 7, 6]
[ 5, 4, 3]
[ 2, 1, 0]]

Ergebnis = [[ 8, 7, 6]
[ 5, 4, 5]
[ 6, 7, 8]]
Das Problem ist, dass mein Array 900*900 Elemente hat und das ganze ca. 24 Mal durchlaufen muss. Mit einer Schleife, die jedes Element einzeln vergleicht dauert das Ewigkeiten. Gibt es eine Funktion, die das in einem Rutsch kann?

Danke für die Hilfe
BlackJack

Ich habe leider nur `numarray` installiert, da geht es mit der `maximum()` Funktion:

Code: Alles auswählen

In [65]: a
Out[65]:
array([[0, 1, 2],
       [3, 4, 5],
       [6, 7, 8]])

In [66]: b
Out[66]:
array([[8, 7, 6],
       [5, 4, 3],
       [2, 1, 0]])

In [67]: numarray.maximum(a, b)
Out[67]:
array([[8, 7, 6],
       [5, 4, 5],
       [6, 7, 8]])
Numpy hat sicher etwas vergleichbares, wenn nicht gar mit dem gleichen Namen.
Benutzeravatar
tromai
User
Beiträge: 92
Registriert: Mittwoch 26. April 2006, 11:20

Ok, danke.

In Numpy heißt es

Code: Alles auswählen

numpy.maximum(a,b)
War die ganze Zeit auf der richtigen Seite von der Docu, Hab bestimmt 20 mal drübergelesen und es nicht gesehen *grummel*

Naja, jetzt ist es hier dokumentiert. Vielleicht sucht ja mal jemand danach.
CM
User
Beiträge: 2464
Registriert: Sonntag 29. August 2004, 19:47
Kontaktdaten:

Ja, kann ich bestätigen - ist genau gleich geblieben.

Gruß,
Christian

PS Bist mir wohl zuvorgekommen - allerdings hilft auch oft ein einfaches dir(numpy) ;-).
Antworten