Ich habe ähnliche Fragen gestellt, aber ich kämpfe immer noch mit der Kombination von Masken.Verwenden von logical_and zum Kombinieren von numpy Masken
Dies ist mein Code:
final_mask = ma.array(np.logical_and(a.mask, b.mask))
combined_mask=(ma.array(data, mask=final_mask))
data
ist das Array ich auf die kombinierte Maske setzen wollen.
Wenn ich die kombinierte Maske grafisch darstelle, scheint sie die a.mask
ignoriert zu haben, da sie sehr viel höhere Werte zurückgibt, als sie sollte. I.e. etwas über 200 wurde zuvor maskiert, aber es sind bis zu 300 hier.
a.mask
und b.mask
wurden bereits definiert und überprüft, so denke ich, es ist die Kombination, die das Problem ist. Sie geben beide Ganzzahlen zurück und nicht true/false Werte, was ist, wonach ich bin.
Danke
Hallo, vielen Dank für Ihre Beratung. Es sieht so aus, als ob meine Argumente basierend auf dem, was Sie gesagt haben, korrekt sind. Es ist die Ausgabe der combined_mask, die mich verwirrt hat, da sie alle Werte über 100 maskiert haben sollte, aber nicht. Dies ist ein Abschnitt des Arrays, die ich von der combined_mask erhalten: [- - - - - - - - - - - - - - - - - - - - - - - 250 250 250 250 250 250 250 250 250 250 250 46 46 66 81 81 78 250 250 250] – JaneOz
Ich habe das jetzt behoben - stellt sich heraus, dass ich nicht brauche nicht die erste Codezeile. combined_mask = ma.array (a.mask, mask = b.mask) – JaneOz