numpy.ma.masked_array.hardmask#

property

property ma.masked_array.hardmask#

指定是否可以通过赋值来取消屏蔽值.

默认情况下,为掩码数组条目分配确定值将取消掩码.当 hardmaskTrue 时,掩码不会通过赋值更改.

示例

>>> import numpy as np
>>> x = np.arange(10)
>>> m = np.ma.masked_array(x, x>5)
>>> assert not m.hardmask

由于 m 有一个软掩码,分配一个元素值会取消该元素的掩码:

>>> m[8] = 42
>>> m
masked_array(data=[0, 1, 2, 3, 4, 5, --, --, 42, --],
             mask=[False, False, False, False, False, False,
                   True, True, False, True],
       fill_value=999999)

在硬化之后,掩码不受赋值的影响:

>>> hardened = np.ma.harden_mask(m)
>>> assert m.hardmask and hardened is m
>>> m[:] = 23
>>> m
masked_array(data=[23, 23, 23, 23, 23, 23, --, --, 23, --],
             mask=[False, False, False, False, False, False,
                   True, True, False, True],
       fill_value=999999)