Spec-Zone.ru › NumPy 1.20

numpy.ma.masked_where

ma.masked_where(condition, a, copy=True) [source]

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

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

Параметры
conditionarray_like

Условие маскирования. При проверке значений с плавающей точкой на равенство в condition, используйте masked_values.

aarray_like

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

copybool

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

Возвращает
resultMaskedArray

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

См. также

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',
            dtype='<U1')

Влияние аргумента 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–2021 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/1.20/reference/generated/numpy.ma.masked_where.html

Spec-Zone.ru

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