所以我有一个numpy数组,其中包含许多numpy数组,其中一些数组的掩码值看起来如下所示:
[[1 2 3]
[-- -- --]
[7 8 9]]
在更大的numpy数组中获取被屏蔽的numpy数组(意思是[ - - - ]的数量)的最有效方法是什么(在这种情况下它将是1)。
谢谢!
答案 0 :(得分:4)
Masked arrays have a .mask
attribute由一个布尔数组组成,只要屏蔽了值,就会True
。如果您想知道包含至少一个屏蔽值的行数,可以使用:
x.mask.any(axis=1).sum()
其中x
是您的蒙面数组。如果您只对屏蔽了所有值的行感兴趣,可以使用:
x.mask.all(axis=1).sum()
显然在你的例子中,这两者都会得到1的结果。