Ich arbeite mit einem 2D-NumPy-Array. Ich möchte den (Spalten-, Zeilen-) Index oder die (x, y) -Koordinate erhalten, wenn Sie das lieber so denken, von meinem 2D-Array, das eine boolesche Bedingung erfüllt.Get (Spalte, Zeile) Index von NumPy-Array, die eine boolesche Bedingung erfüllt
Der beste Weg, kann ich erklären, was ich versuche, über ein triviales Beispiel zu tun ist:
>>> a = np.arange(9).reshape(3, 3)
>>> b = a > 4
>>> b
>>> array([[False, False, False],
[False, False, True],
[ True, True, True]], dtype=bool)
An dieser Stelle habe ich jetzt eine boolean-Array, der anzeigt, wo a > 4
.
Mein Ziel an diesem Punkt ist, greifen Sie die Indizes der Booleschen Array, wo der Wert True
ist. Zum Beispiel haben die Indizes (1, 2)
, (2, 0)
, (2, 1)
und (2, 2)
alle den Wert True.
Mein Endziel ist mit einer Liste von Indizes, um am Ende:
>>> indexes = [(1, 2), (2, 0), (2, 1), (2, 2)]
Auch hier betone ich den Punkt, dass der Code über ein triviales Beispiel ist, aber die Anwendung von dem, was ich versuche zu tun könnte beliebige Indizes haben, wo a > 4
und nicht etwas auf arange
und reshape
basiert.
Beachten Sie, dass die Indizes Sie tatsächlich gab sind (y, x) um, die auch das, was Antwort liefert. – letmaik