Flipping Nullen und Einsen in ein-dimensionales NumPy-array
Habe ich ein ein-dimensionales NumPy-array aus Nullen und Einsen etwa so:
array([0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1])
Ich würde gerne einen schnellen Weg, um einfach nur "flip" werden die Werte Z, die Nullen werden zu Einsen und Einsen werden zu Nullen, was in ein NumPy-array wie dieses:
array([1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])
Ist es ein einfacher one-liner für dieser? Ich schaute auf die fliplr()
- Funktion, aber dies zu verlangen scheint NumPy-arrays Abmessungen in zwei oder mehr. Ich bin sicher, es gibt eine ziemlich einfache Antwort, aber jede Hilfe würde geschätzt werden.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Muss es etwas in deine Frage, dass verstehe ich nicht...
Sowieso
a = a ^ 1
können Sie tuna ^= 1
.a ^= 1
prägnante und pythonic. Danke!Ein Zeichen, dass Sie sollte wohl einen boolean-Datentyp
Mathematisch, die erste Sache, die kommt sich zu kümmern, ist
(value + 1) % 2
.anderen überflüssig option:
Ich fand auch einen Weg, es zu tun:
Dennoch denke ich, dass @gboffi s Antwort ist die beste. Ich hätte von Ihnen positiv bewertet werden, aber ich habe nicht genug Ruf noch 🙁