Spalten löschen nach Kriterium Numpy Array

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
Wurzelbert
User
Beiträge: 1
Registriert: Dienstag 7. Oktober 2014, 17:16

Hey liebe Leute,
ich habe ein Graustufenarray, in dem entweder Werte mit 255 oder 0 sind.
Nun will ich alle Spalten löschen, in denen lediglich die 255 auftaucht.
Gibt es dafür eine schöne Python Lösung, ohne komplett durchiterieren zu müssen
, ähnlich wie es mit den Zeilen Funktioniert (arr = arr[~(arr==255).all(1)]) ?

Danke schon mal im voraus. (:
BlackJack

@Wurzelbert: Du musst doch nur die Axis für das `all()` und das slicing entsprechend anpassen:

Code: Alles auswählen

In [12]: A
Out[12]: 
array([[  0,   0, 255],
       [255, 255, 255],
       [255,   0, 255]])

In [13]: A[:,~(A == 255).all(0)]
Out[13]: 
array([[  0,   0],
       [255, 255],
       [255,   0]])
Antworten