Koordinaten von Punkt auf numpy array
Habe ich ein numpy-array:
[[ 0. 1. 2. 3. 4.]
[ 7. 8. 9. 10. 4.]
[ 14. 15. 16. 17. 4.]
[ 1. 20. 21. 22. 23.]
[ 27. 28. 1. 20. 29.]]
was ich möchte schnell finden, die Koordinaten von bestimmten Werten und vermeiden python-Schleifen auf dem array. Zum Beispiel, die Zahl 4
auf:
row 0 and col 4
row 1 and col 4
row 2 and col 4
sowie eine Suche-Funktion zurückgeben soll ein Tupel:
((0,4),(1,4),(2,4))
Kann dies direkt über nunmpy Funktionen?
InformationsquelleAutor | 2011-03-30
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn
a
ist das array, dann könnte man verwenden:oder
Wenn Sie wirklich wollen, ein Tupel ist, können Sie konvertieren aus dem Tupel von arrays, Tupel von Tupeln, sondern den return-Wert aus der numpy-Funktionen ist convient für die dann andere Operationen auf dem array.
Umstellung auf ein Tupel für die OP die Spezifikation:
InformationsquelleAutor JoshAdel
Drucke
Den üblichen Einschränkungen für die floating-point-Vergleiche anwenden.
np.argwhere
ist nicht geeignet für die Indizierung von arrays. Für diesen Zweck verwendennp.where(a)
statt."Warum denkst du, dass die OP verwenden möchte, diese für die Indizierung? Ich entschied mich für die Funktion, die erzeugt eine Ausgabe, die am nächsten am OP ist die gewünschte Ausgabe.
Hätte mit den beiden, die er gerade erwähnt zuerst die
.where
Nicht traurig sein, Sie haben noch 17k rep Punkte auf mich 🙂 Aber im ernst, ich habe auch ein Mittel, um die OP die gewünschte Ausgabe, aber ich wollte auch etwas zeigen, über wie numpy Werke, die nützlich sein könnten für andere. Es hat nicht sollen sein, ein klopfen an Ihrer Lösung, aber einige zusätzliche (und ich dachte, das war hilfreich) info.
Es war auch Teil Parallelität Problem, ich denke SO genutzt hätten, wenn Google Wave war erfolgreich!
InformationsquelleAutor Sven Marnach