numpy.ma.compress_rowcols#

ma.compress_rowcols(x, axis=None)[source]#

抑制包含掩码值的二维数组的行和/或列。

抑制行为由axis参数选择。

  • 如果 axis 为 None,则抑制行和列。

  • 如果 axis 为 0,则仅抑制行。

  • 如果 axis 为 1 或 -1,则仅抑制列。

参数:
xarray_like, MaskedArray

要操作的数组。如果不是 MaskedArray 实例(或者没有数组元素被掩码),则x被解释为一个 MaskedArray,其mask设置为nomask。必须是二维数组。

axisint, 可选

执行操作的轴。默认为 None。

返回值:
compressed_arrayndarray

压缩后的数组。

示例

>>> import numpy as np
>>> x = np.ma.array(np.arange(9).reshape(3, 3), mask=[[1, 0, 0],
...                                                   [1, 0, 0],
...                                                   [0, 0, 0]])
>>> x
masked_array(
  data=[[--, 1, 2],
        [--, 4, 5],
        [6, 7, 8]],
  mask=[[ True, False, False],
        [ True, False, False],
        [False, False, False]],
  fill_value=999999)
>>> np.ma.compress_rowcols(x)
array([[7, 8]])
>>> np.ma.compress_rowcols(x, 0)
array([[6, 7, 8]])
>>> np.ma.compress_rowcols(x, 1)
array([[1, 2],
       [4, 5],
       [7, 8]])