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


python numpy ma.make_mask用法及代码示例

用法:

numpy.ma.make_mask(m, copy=False, shrink=True, dtype=<class 'numpy.bool_'>)

从数组创建布尔掩码。

返回m作为布尔值掩码,如果有必要或要求,则创建一个副本。该函数可以接受任何可转换为整数的序列,或者nomask。不需要内容必须为0和1,将值0解释为False,其他所有内容解释为True。

参数:
m array_like

潜在的面具。

copy bool, 可选参数

是返回m(True)还是m本身(False)的副本。

shrink bool, 可选参数

是否缩小至nomask如果其所有值均为False。

dtype dtype, 可选参数

输出掩码的数据类型。默认情况下,输出蒙版的dtype为MaskType(布尔)。如果dtype是flexible,则每个字段都有一个布尔dtype。当m为nomask, 在这种情况下nomask总是返回。

返回值:
result ndarray

从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')])

源码:

numpy.ma.make_mask的API实现见:[源代码]

注:本文由纯净天空筛选整理自 numpy.ma.make_mask。非经特殊声明,原始代码版权归原作者所有,本译文的传播和使用请遵循“署名-相同方式共享 4.0 国际 (CC BY-SA 4.0)”协议。