numpy.ma.make_mask#

ma.make_mask(m, copy=False, shrink=True, dtype= 'numpy.bool'>)[источник]#

Создать булеву маску из массива.

Возвращает m в качестве булевой маски, создавая копию при необходимости или по запросу. Функция может принимать любую последовательность, преобразуемую в целые числа, или nomask. Не требует, чтобы содержимое состояло только из 0 и 1; значения 0 интерпретируются как False, все остальное как True.

Параметры:
marray_like

Потенциальная маска.

copybool, необязательно

Возвращать ли копию m (True) или m самого себя (False).

shrinkbool, необязательно

Сжимать ли m to nomask если все его значения равны False.

dtypedtype, опционально

Тип данных выходной маски. По умолчанию выходная маска имеет тип данных MaskType (bool). Если тип данных гибкий, каждое поле имеет логический тип данных. Это игнорируется, когда m является nomask, в таком случае nomask всегда возвращается.

Возвращает:
результатndarray

Булева маска, полученная из m.

Примеры

>>> import numpy as np
>>> 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])

Эффект от shrink параметр.

>>> 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', '
>>> ma.make_mask(arr, dtype=dtype)
array([(True, False), (False, True), (True, False), (True, False)],
      dtype=[('man', '|b1'), ('mouse', '|b1')])