我有一个2D数组,我想用这样的掩码切片:
import numpy as np
a = np.random.randint(0, 10, 100).reshape(10, 10)
tested = np.arange(100).reshape(10, 10)
c = np.ma.masked_where(((a>2) & (a<7)),a)
In [29]: c
Out[29]:
masked_array(data =
[[-- -- 9 -- 0 -- 1 -- 0 --]
[1 -- 8 0 -- -- 7 -- -- --]
[-- -- -- 2 -- -- -- 9 1 --]
[-- -- -- 9 9 0 0 8 1 0]
[8 -- 2 9 1 -- -- 9 8 2]
[-- -- 1 -- 8 0 -- -- 0 2]
[9 -- 8 -- -- 1 2 -- 1 1]
[-- -- -- 1 2 0 8 -- 9 9]
[1 -- -- -- -- 0 -- 9 7 --]
[1 0 -- -- 2 1 0 0 7 1]],
mask =
[[ True True False True False True False True False True]
[False True False False True True False True True True]
[ True True True False True True True False False True]
[ True True True False False False False False False False]
[False True False False False True True False False False]
[ True True False True False False True True False False]
[False True False True True False False True False False]
[ True True True False False False False True False False]
[False True True True True False True False False True]
[False False True True False False False False False False]],
fill_value = 999999)
如何根据创建的蒙版(即“c”masked_array)过滤“已测试”,并将输出作为2D数组(保持“测试”形状,并用np.nan替换缺席值,或者作为ma) ?