2016-03-25 56 views
2

Hier ist ein Beispiel:Aufruf `numpy.where` auf ein` masked_array`

import numpy 
from numpy import arange, where 
from numpy.ma import masked_array 

a = masked_array(arange(10), arange(10) < 5) 
print(where((a <= 6))[0]) 

Erwartete Ausgabe:

[5, 6] 

tatsächliche Ausgang:

[0, 1, 2, 3, 4, 5, 6] 

Wie kann ich erreichen, die erwartete Ausgabe? Vielen Dank! :)

Antwort

3

Sie müssen einfach nur "numpy.ma.where" verwenden, um das maskierte Array zu behandeln:

print(numpy.ma.where((a <= 6))[0]) 
+0

Oh okay, - Danke! Bevor ich die Dokumente las, dachte ich, dass "masked_where" die Antwort war. Ich suchte auf der "numpy.ma" -Docs-Seite nach "where" und sah nichts anderes als 'masked_where'. – Brian