Поскольку у вас есть --
записей в вашем массиве, я думаю, это означает, что они уже замаскированы:
>>> m = ma.masked_where([True, False]*5, arange(10))
>>> print m
[-- 1 -- 3 -- 5 -- 7 -- 9]
Итак, я бы сказал, что ваши записи уже замаскированы и что вы можете напрямуюиспользуйте ваш массив.
Если вы хотите создать массив, который содержит только немаскированное значение, вы можете сделать
>>> m[~m.mask]
[1 3 5 7]
, где m
- ваш маскированный массив.
Если вы хотите иметь список маскируемых значений, вы можете просто выбрать другие значения:
>>> m[m.mask]
[0 2 4 6 8]
Обратите внимание, что отсутствующие значения не Нет, но являются исходнымизначения, как правило.Фактически, массив целых чисел не может содержать None.
Если вам нужны индексы маскируемых значений, вы можете сделать:
>>> numpy.nonzero(m.mask)
Документация из numpy.nonzero()
описывает, как его результат должен интерпретироваться.