在 `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])
这是一个例子:
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])