当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python numpy ma.array用法及代码示例


本文简要介绍 python 语言中 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)

参数

data array_like

输入数据。

mask 顺序,可选

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

dtype dtype,可选

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

copy 布尔型,可选

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

subok 布尔型,可选

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

ndmin 整数,可选

最小维度数。默认值为 0。

fill_value 标量,可选

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

keep_mask 布尔型,可选

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

hard_mask 布尔型,可选

是否使用硬掩码。使用硬掩码,被掩码的值不能被取消掩码。默认为假。

shrink 布尔型,可选

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

order {‘C’, ‘F’, ‘A’},可选

指定数组的顺序。如果 order 为“C”,则数组将按 C-contiguous 顺序排列(last-index 变化最快)。如果 order 为“F”,则返回的数组将按 Fortran-contiguous 顺序(first-index 变化最快)。如果 order 是“A”(默认),则返回的数组可以是任何顺序(C-、Fortran-contiguous,甚至是不连续的),除非需要副本,在这种情况下它将是 C-contiguous。

例子

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

相关用法


注:本文由纯净天空筛选整理自numpy.org大神的英文原创作品 numpy.ma.array。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。