Spec-Zone.ru › NumPy 1.19

numpy.ma.masked_where

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

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

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

Параметры
conditionarray_like

Условие маскирования. При проверке плавающей точки на равенство используйте 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–2020 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/1.19/reference/generated/numpy.ma.masked_where.html

Spec-Zone.ru

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