Zum Beispiel, wenn ich numpy maskierte Array als Index verwendet werden soll, habe ich einige Probleme:Wie maskiertes Array als Index in Python verwenden?
import numpy as np
a=np.array([0,1,2,3,4,5])
b=np.array([[0,1],[3,5]])
>>> a[b]
array([[0, 1],
[3, 5]]
gut, das Problem ist, Nummer 3 in b ist nicht das, was ich will. Das Ergebnis i GETI wollen, ist wie
a[b]=array([[0, 1],
[5]])
so habe ich die numpy.ma:
b=np.ma.masked_equal(b,3)
>>> b
masked_array(data =
[[0 1]
[-- 5]],
mask =
[[False False]
[ True False]],
fill_value = 3)
>>> a[b]
array([[0, 1],
[3, 5]])
Wie wir sehen können, arbeitet der maskierte Wert noch als Index, ist es eine Möglichkeit, es zu beheben ?
Was bedeutet "ignorieren" in diesem Zusammenhang? Im Allgemeinen arbeiten maskierte Arrays nur mit maskierten Array-Funktionen und -Methoden. Sie sind kein Ersatz für reguläre Arrays. Aber mit mehr Informationen können wir Wege vorschlagen, um es zu benutzen, oder etwas Gleichwertiges. – hpaulj