numpy.ma.array

ma.array(data, dtype=None, copy=False, order=None, mask=False, fill_value=None, keep_mask=True, hard_mask=False, shrink=True, subok=True, ndmin=0)[源代码]

具有可能被屏蔽的值的数组类。

如果屏蔽值为true,则从任何计算中排除相应的元素。

施工:

x = MaskedArray(data, mask=nomask, dtype=None, copy=False, subok=True,
                ndmin=0, fill_value=None, keep_mask=True, hard_mask=None,
                shrink=True, order=None)
参数
dataarray_like

输入数据。

mask序列,可选

面具。必须可转换为形状与相同的布尔数组 data . true表示屏蔽(即无效)数据。

dtype可选类型

输出的数据类型。如果 dtype 是none,数据参数的类型 (data.dtype )。如果 dtype 不是一个也不同于 data.dtype ,执行复制。

copy可选的布尔

是复制输入数据(true),还是使用引用。默认值为假。

subok可选的布尔

是否返回的子类 MaskedArray 如果可能(真的)或平原 MaskedArray . 默认值为true。

ndmin可选的

最小尺寸数。默认值为0。

fill_value标量,可选

必要时用于填充屏蔽值的值。如果没有,则使用基于数据类型的默认值。

keep_mask可选的布尔

是否合并 mask 带输入数据的掩码,如果有(真),或仅使用 mask 对于输出(错误)。默认值为true。

hard_mask可选的布尔

是否使用硬面罩。使用硬掩码时,不能取消对屏蔽值的屏蔽。默认值为假。

shrink可选的布尔

是否强制压缩空掩码。默认值为true。

order'C'、'F'、'A',可选

指定数组的顺序。如果顺序为“c”,则数组将按c-连续顺序排列(最后一个索引变化最快)。如果order为“f”,则返回的数组将按fortran连续顺序(第一个索引变化最快)。如果顺序为“A”(默认),则返回的数组可以是任意顺序(C-、Fortran连续,甚至不连续),除非需要副本,在这种情况下,它将是C-连续的。

实例

这个 mask 可以使用与 data .

>>> data = np.arange(6).reshape((2, 3))
>>> np.ma.MaskedArray(data, mask=[[False, True, False],
...                               [False, False, True]])
masked_array(
  data=[[0, --, 2],
        [3, 4, --]],
  mask=[[False,  True, False],
        [False, False,  True]],
  fill_value=999999)

或者, mask 可以初始化为与 data 通过传入标量布尔值:

>>> np.ma.MaskedArray(data, mask=False)
masked_array(
  data=[[0, 1, 2],
        [3, 4, 5]],
  mask=[[False, False, False],
        [False, False, False]],
  fill_value=999999)
>>> np.ma.MaskedArray(data, mask=True)
masked_array(
  data=[[--, --, --],
        [--, --, --]],
  mask=[[ True,  True,  True],
        [ True,  True,  True]],
  fill_value=999999,
  dtype=int64)

注解

初始化的推荐实践 mask with a scalar boolean value is to use True/False 而不是 np.True_/np.False_ . 原因是 nomask 内部表示为 np.False_ .

>>> np.False_ is np.ma.nomask
True