在 `masked_array` 上调用 `numpy.where`

calling `numpy.where` on a `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])

预期输出:

[5, 6]

实际输出:

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

我怎样才能达到预期的输出?谢谢! :)

您只需要使用 "numpy.ma.where" 来处理屏蔽数组:

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