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)