Spec-Zone.ru › NumPy 1.17

numpy.ma.make_mask

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

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

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

Параметры:
m : array_like

Возможная маска.

copy : bool, optional

Необходимо ли вернуть копию m (True) или m само по себе (False).

shrink : bool, optional

Нужно ли уменьшить m до nomask, если все его значения равны False.

dtype : dtype, optional

Тип данных выходной маски. По умолчанию выходная маска имеет тип данных MaskType (bool). Если тип данных гибкий, каждый элемент имеет булев тип. Это игнорируется, когда 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])

Влияние параметра 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', '<i8'), ('mouse', '<i8')])
>>> ma.make_mask(arr, dtype=dtype)
array([(True, False), (False, True), (True, False), (True, False)],
      dtype=[('man', '|b1'), ('mouse', '|b1')])

© 2005–2019 NumPy Developers
Licensed under the 3-clause BSD License.
https://docs.scipy.org/doc/numpy-1.17.0/reference/generated/numpy.ma.make_mask.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API