numpy.ma.masked_where
-
numpy.ma.masked_where(condition, a, copy=True)[source] -
Маска массива, где выполняется условие.
Возвращает
aв виде массива, замаскированного там, гдеconditionистинно. Любые замаскированные значенияaилиconditionтакже маскируются в выходных данных.Параметры: condition : array_like
Условие маскирования. При проверке значений с плавающей точкой на равенство используйте
masked_valuesвместоcondition.a : array_like
Массив для маскирования.
copy : bool
Если True (по умолчанию), создает копию
aв результате. Если False, изменяетaна месте и возвращает представление.Возвращает: result : MaskedArray
Результат маскирования
aтам, гдеconditionистинно.См. также
-
masked_values - Маскирование с использованием равенства с плавающей точкой.
-
masked_equal - Маскирование, где равно заданному значению.
-
masked_not_equal - Маскирование, где
notне равно заданному значению. -
masked_less_equal - Маскирование, где меньше или равно заданному значению.
-
masked_greater_equal - Маскирование, где больше или равно заданному значению.
-
masked_less - Маскирование, где меньше заданного значения.
-
masked_greater - Маскирование, где больше заданного значения.
-
masked_inside - Маскирование внутри заданного интервала.
-
masked_outside - Маскирование вне заданного интервала.
-
masked_invalid - Маскирование недопустимых значений (NaN или inf).
Примеры
>>> 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)Эффект аргумента
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])Когда
conditionили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) -
© 2005–2019 NumPy Developers
Licensed under the 3-clause BSD License.
https://docs.scipy.org/doc/numpy-1.14.5/reference/generated/numpy.ma.masked_where.html