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