numpy.ma.array #

嘛。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)
参数
类似数据数组

输入数据。

掩码序列,可选

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

数据类型数据类型,可选

输出的数据类型。如果为 None,则使用dtype数据参数 ( ) 的类型。data.dtype如果dtype不是 None 且不同于data.dtype,则执行复制。

复制布尔值,可选

是否复制输入数据(True),或使用引用。默认值为 False。

subok布尔,可选

是否返回子类(MaskedArray如果可能)(True)或普通MaskedArray.默认为 True。

ndmin整数,可选

最小维数。默认值为 0。

fill_value标量,可选

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

keep_mask布尔值,可选

是否将掩码与输入数据的掩码(如果有)组合起来(True),或者仅对输出使用掩码(False)。默认为 True。

硬掩码布尔值,可选

是否使用硬掩模。使用硬掩码,掩码值无法被取消掩码。默认值为 False。

收缩布尔值,可选

是否强制压缩空掩模。默认为 True。

顺序{'C', 'F', 'A'},可选

指定数组的顺序。如果 order 为“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是使用True/False而不是 np.True_/ np.False_。原因是nomask 内部表示为np.False_

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