Spec-Zone.ru › NumPy 1.20

numpy.ma.array

ma.array(data, dtype=None, copy=False, order=None, mask=False, fill_value=None, keep_mask=True, hard_mask=False, shrink=True, subok=True, ndmin=0) [source]

Массив с возможностью маскирования значений.

Маскированные значения True исключают соответствующий элемент из любого вычисления.

Создание:

x = MaskedArray(data, mask=nomask, dtype=None, copy=False, subok=True,
                ndmin=0, fill_value=None, keep_mask=True, hard_mask=None,
                shrink=True, order=None)
Параметры
dataarray_like

Входные данные.

masksequence, optional

Маска. Должна быть преобразуема в массив булевых значений с той же формой, что и data. Значение True указывает на маскированное (т.е. недействительное) значение данных.

dtypedtype, optional

Тип данных результата. Если dtype равно None, используется тип данных аргумента (data.dtype). Если dtype не равно None и отличается от data.dtype, выполняется копирование.

copybool, optional

Копировать ли входные данные (True) или использовать ссылку вместо этого. По умолчанию False.

subokbool, optional

Возвращать ли подкласс MaskedArray при возможности (True) или обычный MaskedArray. По умолчанию True.

ndminint, optional

Минимальное количество измерений. По умолчанию 0.

fill_valuescalar, optional

Значение, используемое для заполнения маскированных значений при необходимости. Если None, используется значение по умолчанию, основанное на типе данных.

keep_maskbool, optional

Объединить ли mask с маской входных данных, если таковая имеется (True), или использовать только mask для результата (False). По умолчанию True.

hard_maskbool, optional

Использовать жёсткую маску или нет. С жёсткой маской маскированные значения нельзя размаскировать. По умолчанию False.

shrinkbool, optional

Принудительно ли сжимать пустую маску. По умолчанию True.

order{‘C’, ‘F’, ‘A’}, optional

Указать порядок массива. Если order равен ‘C’, массив будет в порядке C-непрерывности (индекс последнего элемента изменяется быстрее). Если order равен ‘F’, возвращаемый массив будет в порядке Fortran-непрерывности (индекс первого элемента изменяется быстрее). Если order равен ‘A’ (по умолчанию), возвращаемый массив может быть в любом порядке (C-, Fortran-непрерывности или даже несмежный), если не требуется копия, в противном случае он будет C-непрерывным.

Примеры

Массив можно инициализировать массивом булевых значений с такой же формой, что и data.

>>> data = np.arange(6).reshape((2, 3))
>>> np.ma.MaskedArray(data, mask=[[False, True, False],
...                               [False, False, True]])
masked_array(
  data=[[0, --, 2],
        [3, 4, --]],
  mask=[[False,  True, False],
        [False, False,  True]],
  fill_value=999999)

Альтернативно, массив можно инициализировать однородным булевым массивом с той же формой, что и data, передав скалярное булевое значение:

>>> np.ma.MaskedArray(data, mask=False)
masked_array(
  data=[[0, 1, 2],
        [3, 4, 5]],
  mask=[[False, False, False],
        [False, False, False]],
  fill_value=999999)
>>> np.ma.MaskedArray(data, mask=True)
masked_array(
  data=[[--, --, --],
        [--, --, --]],
  mask=[[ True,  True,  True],
        [ True,  True,  True]],
  fill_value=999999,
  dtype=int64)

Примечание

Рекомендуется инициализировать mask скалярным булевым значением с использованием True/False вместо np.True_/np.False_. Причина в том, что nomask представляется внутри как np.False_.

>>> np.False_ is np.ma.nomask
True

© 2005–2021 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/1.20/reference/generated/numpy.ma.array.html

Spec-Zone.ru

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