當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python numpy ma.make_mask用法及代碼示例


本文簡要介紹 python 語言中 numpy.ma.make_mask 的用法。

用法:

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

從數組創建布爾掩碼。

返回m作為布爾掩碼,根據需要或要求創建副本。該函數可以接受任何可轉換為整數的序列,或者nomask。不要求內容必須是 0 和 1,0 值解釋為 False,其他值解釋為 True。

參數

m array_like

潛在掩碼。

copy 布爾型,可選

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

shrink 布爾型,可選

是否縮水mnomask如果它的所有值都是 False。

dtype dtype,可選

輸出掩碼的數據類型。默認情況下,輸出掩碼的數據類型為MaskType(布爾)。如果數據類型是靈活的,則每個字段都有一個布爾數據類型。當mnomask, 在這種情況下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.org大神的英文原創作品 numpy.ma.make_mask。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。