numpy.ma.masked_array.compress

masked_array.compress(condition, axis=None, out=None)[source]

返回a其中条件为True

如果条件为MaskedArray,则缺失值将被视为False

参数:

condition:var

Boolean 1-d数组选择要返回的条目。如果len(condition)小于沿轴的a的大小,则输出将被截断为条件数组的长度。

axis:{None,int},可选

必须沿其执行操作的轴。

out:{None,ndarray},可选

用于放置结果的替代输出数组。它必须具有与预期输出相同的形状,但如果需要,将转换类型。

返回:

result:MaskedArray

MaskedArray对象。

笔记

请注意与compressed的区别!compress的输出具有掩码,compressed的输出不是。

例子

>>> x = np.ma.array([[1,2,3],[4,5,6],[7,8,9]], mask=[0] + [1,0]*4)
>>> print(x)
[[1 -- 3]
 [-- 5 --]
 [7 -- 9]]
>>> x.compress([1, 0, 1])
masked_array(data = [1 3],
      mask = [False False],
      fill_value=999999)
>>> x.compress([1, 0, 1], axis=1)
masked_array(data =
 [[1 3]
 [-- --]
 [7 9]],
      mask =
 [[False False]
 [ True  True]
 [False False]],
      fill_value=999999)