numpy.ma.make_mask #
- 嘛。make_mask ( m , copy=False , Shrink=True , dtype=<class 'numpy.bool_'> ) [来源] #
从数组创建布尔掩码。
将m作为布尔掩码返回,并根据需要或请求创建副本。该函数可以接受任何可转换为整数的序列,或
nomask
。不要求内容必须是 0 和 1,0 值解释为 False,其他值解释为 True。- 参数:
- m类数组
潜在的面具。
- 复制布尔值,可选
是否返回m的副本(True)或m本身(False)。
- 收缩布尔值,可选
如果 m 的所有值都为 False,是否将其缩小。
nomask
- 数据类型数据类型,可选
输出掩码的数据类型。默认情况下,输出掩码的数据类型为 MaskType (bool)。如果数据类型是灵活的,则每个字段都有一个布尔数据类型。当m为时,此值将被忽略
nomask
,在这种情况下nomask
始终返回。
- 返回:
- 结果数组
从m派生的布尔掩码。
例子
>>> import numpy.ma as ma >>> m = [True, False, True, True] >>> ma.make_mask(m) array([ True, False, True, True]) >>> m = [1, 0, 1, 1] >>> ma.make_mask(m) array([ True, False, True, True]) >>> m = [1, 0, 2, -3] >>> ma.make_mask(m) array([ True, False, True, True])
收缩参数的影响。
>>> m = np.zeros(4) >>> m array([0., 0., 0., 0.]) >>> ma.make_mask(m) False >>> ma.make_mask(m, shrink=False) array([False, False, False, False])
使用灵活的
dtype
.>>> m = [1, 0, 1, 1] >>> n = [0, 1, 0, 0] >>> arr = [] >>> for man, mouse in zip(m, n): ... arr.append((man, mouse)) >>> arr [(1, 0), (0, 1), (1, 0), (1, 0)] >>> dtype = np.dtype({'names':['man', 'mouse'], ... 'formats':[np.int64, np.int64]}) >>> arr = np.array(arr, dtype=dtype) >>> arr array([(1, 0), (0, 1), (1, 0), (1, 0)], dtype=[('man', '<i8'), ('mouse', '<i8')]) >>> ma.make_mask(arr, dtype=dtype) array([(True, False), (False, True), (True, False), (True, False)], dtype=[('man', '|b1'), ('mouse', '|b1')])