Spec-Zone.ru › NumPy 1.17

numpy.ma.masked_where

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

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

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

Параметры:
condition : array_like

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

a : array_like

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

copy : bool

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

Возвращает:
result : MaskedArray

Результат маскирования 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–2019 NumPy Developers
Licensed under the 3-clause BSD License.
https://docs.scipy.org/doc/numpy-1.17.0/reference/generated/numpy.ma.masked_where.html

Spec-Zone.ru

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