dask.array.ma.masked_array
dask.array.ma.masked_array¶
- dask.array.ma.masked_array(data, mask=np.False_, fill_value=None, **kwargs)[源代码]¶
一个可能包含掩码值的数组类。
此文档字符串是从 numpy.ma.masked_array 复制的。
Dask 版本可能存在一些不一致性。
值为 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)
- 参数
- 数据array_like
输入数据。
- 掩码序列,可选
掩码。必须可以转换为与 data 形状相同的布尔数组。True 表示掩码(即无效)数据。
- dtypedtype, 可选 (Dask 不支持)
输出数据的类型。如果 dtype 为 None,则使用数据参数的类型(
data.dtype
)。如果 dtype 不为 None 且与data.dtype
不同,则会进行复制。- 复制bool, 可选 (Dask 不支持)
是否复制输入数据(True),或者使用引用代替。默认是 False。
- subokbool, 可选 (Dask 不支持)
如果可能,是否返回 MaskedArray 的子类(True)或普通的 MaskedArray。默认为 True。
- ndminint, 可选 (Dask 不支持)
最小维度数。默认值为 0。
- fill_value标量,可选
在必要时用于填充掩码值的值。如果为 None,则根据数据类型使用默认值。
- keep_maskbool, 可选 (Dask 不支持)
是否将 mask 与输入数据的掩码(如果有)结合(True),或者仅使用 mask 作为输出(False)。默认为 True。
- 硬掩码bool, 可选 (Dask 不支持)
是否使用硬掩码。使用硬掩码时,被掩码的值不能被取消掩码。默认是 False。
- 缩小bool, 可选 (Dask 不支持)
是否强制压缩空掩码。默认值为 True。
- 顺序{‘C’, ‘F’, ‘A’}, 可选 (Dask 中不支持)
指定数组的顺序。如果顺序是 ‘C’,那么数组将是 C 连续顺序(最后一个索引变化最快)。如果顺序是 ‘F’,那么返回的数组将是 Fortran 连续顺序(第一个索引变化最快)。如果顺序是 ‘A’(默认),那么返回的数组可能是任何顺序(无论是 C 连续、Fortran 连续,甚至是非连续的),除非需要复制,在这种情况下它将是 C 连续的。
示例
>>> import numpy as np
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