numpy.ma.masked_where#

ma.masked_where(условие, a, copy=True)[источник]#

Замаскировать массив, где условие выполняется.

Возвращает a как массив, маскированный там, где условие равно True. Любые замаскированные значения a или условие также маскируются в выходных данных.

Параметры:
условиеarray_like

Маскирующее условие. Когда условие тестирует значения с плавающей точкой на равенство, рассмотрите использование masked_values вместо этого.

aarray_like

Массив для маскирования.

copybool

Если True (по умолчанию) создает копию a в результате. Если False, изменяет a на месте и возвращает представление.

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

Результат маскирования a где условие равно True.

Смотрите также

masked_values

Маскирование с использованием равенства чисел с плавающей запятой.

masked_equal

Маска, где равно заданному значению.

masked_not_equal

Маска, где не равно заданному значению.

masked_less_equal

Маска, где меньше или равно заданному значению.

masked_greater_equal

Маска, где больше или равно заданному значению.

masked_less

Маска, где меньше заданного значения.

masked_greater

Маска, где больше заданного значения.

masked_inside

Маскировать внутри заданного интервала.

masked_outside

Маскировать вне заданного интервала.

masked_invalid

Замаскировать недопустимые значения (NaN или inf).

Примеры

>>> import numpy as np
>>> import numpy.ma as ma
>>> a = np.arange(4)
>>> a
array([0, 1, 2, 3])
>>> ma.masked_where(a <= 2, a)
masked_array(data=[--, --, --, 3],
             mask=[ True,  True,  True, False],
       fill_value=999999)

Маскированный массив b условно по a.

>>> b = ['a', 'b', 'c', 'd']
>>> ma.masked_where(a == 2, b)
masked_array(data=['a', 'b', --, 'd'],
             mask=[False, False,  True, False],
       fill_value='N/A',
            dtype='

Эффект от copy аргумент.

>>> c = ma.masked_where(a <= 2, a)
>>> c
masked_array(data=[--, --, --, 3],
             mask=[ True,  True,  True, False],
       fill_value=999999)
>>> c[0] = 99
>>> c
masked_array(data=[99, --, --, 3],
             mask=[False,  True,  True, False],
       fill_value=999999)
>>> a
array([0, 1, 2, 3])
>>> c = ma.masked_where(a <= 2, a, copy=False)
>>> c[0] = 99
>>> c
masked_array(data=[99, --, --, 3],
             mask=[False,  True,  True, False],
       fill_value=999999)
>>> a
array([99,  1,  2,  3])

Когда условие или a содержат замаскированные значения.

>>> a = np.arange(4)
>>> a = ma.masked_where(a == 2, a)
>>> a
masked_array(data=[0, 1, --, 3],
             mask=[False, False,  True, False],
       fill_value=999999)
>>> b = np.arange(4)
>>> b = ma.masked_where(b == 0, b)
>>> b
masked_array(data=[--, 1, 2, 3],
             mask=[ True, False, False, False],
       fill_value=999999)
>>> ma.masked_where(a == 3, b)
masked_array(data=[--, 1, --, --],
             mask=[ True, False,  True,  True],
       fill_value=999999)