Ist es möglich, Einträge aus einem nd-Array nachzuschlagen, ohne eine IndexError
zu werfen?Standardwert bei Indexierung außerhalb eines numpy-Arrays, selbst bei nicht-trivialer Indexierung
Ich hoffe auf so etwas wie:
>>> a = np.arange(10) * 2
>>> a[[-4, 2, 8, 12]]
IndexError
>>> wrap(a, default=-1)[[-4, 2, 8, 12]]
[-1, 4, 16, -1]
>>> wrap(a, default=-1)[200]
-1
Oder vielleicht eher wie get_with_default(a, [-4, 2, 8, 12], default=-1)
Gibt es eine eingebaute Möglichkeit, dies zu tun? Kann ich numpy fragen, die Ausnahme nicht zu werfen und Müll zurückzugeben, den ich dann mit meinem Standardwert ersetzen kann?
Nah genug, danke! Das Auffüllen des Perimeters mit dem Standardwert würde ausreichen, um das zu ermöglichen. – Eric
Hmm, 'np.take' funktioniert nicht mit den gleichen Indexierungsregeln wie' [] '. Gibt es eine einfache Möglichkeit, etwas wie "np.s_ [1, [2, 3, 4],:]" in ein passendes Objekt umzuwandeln? – Eric
Tatsächlich scheint es, dass np.take nur mit dem einfachen Fall funktioniert. Vielleicht hätte ich stattdessen ein 2D-Array als Beispiel verwenden sollen. – Eric