numpy.ma.is_mask#

ma.is_mask(m)[source]#

如果 m 是一个有效的标准掩码,则返回 True。

此函数不检查输入的内容,仅检查类型是否为 MaskType。特别是,如果掩码具有灵活的数据类型,则此函数返回 False。

参数:
marray_like

要测试的数组。

返回值:
resultbool

如果 m.dtype.type 是 MaskType,则为 True,否则为 False。

参见

ma.isMaskedArray

测试输入是否为 MaskedArray 的实例。

示例

>>> import numpy as np
>>> import numpy.ma as ma
>>> m = ma.masked_equal([0, 1, 0, 2, 3], 0)
>>> m
masked_array(data=[--, 1, --, 2, 3],
             mask=[ True, False,  True, False, False],
       fill_value=0)
>>> ma.is_mask(m)
False
>>> ma.is_mask(m.mask)
True

输入必须是 ndarray(或具有类似的属性)才能被视为有效的掩码。

>>> m = [False, True, False]
>>> ma.is_mask(m)
False
>>> m = np.array([False, True, False])
>>> m
array([False,  True, False])
>>> ma.is_mask(m)
True

具有复杂数据类型的数组不返回 True。

>>> dtype = np.dtype({'names':['monty', 'pithon'],
...                   'formats':[bool, bool]})
>>> dtype
dtype([('monty', '|b1'), ('pithon', '|b1')])
>>> m = np.array([(True, False), (False, True), (True, False)],
...              dtype=dtype)
>>> m
array([( True, False), (False,  True), ( True, False)],
      dtype=[('monty', '?'), ('pithon', '?')])
>>> ma.is_mask(m)
False