你如何得到一个numpy蒙面数组中蒙面行的数量?

时间:2015-11-24 11:03:36

标签: python arrays numpy

所以我有一个numpy数组,其中包含许多numpy数组,其中一些数组的掩码值看起来如下所示:

[[1 2 3]
 [-- -- --]
 [7 8 9]]

在更大的numpy数组中获取被屏蔽的numpy数组(意思是[ - - - ]的数量)的最有效方法是什么(在这种情况下它将是1)。

谢谢!

1 个答案:

答案 0 :(得分:4)

Masked arrays have a .mask attribute由一个布尔数组组成,只要屏蔽了值,就会True。如果您想知道包含至少一个屏蔽值的行数,可以使用:

x.mask.any(axis=1).sum()

其中x是您的蒙面数组。如果您只对屏蔽了所有值的行感兴趣,可以使用:

x.mask.all(axis=1).sum()

显然在你的例子中,这两者都会得到1的结果。