Константы numpy.ma модуль#

В дополнение к MaskedArray класс, numpy.ma модуль определяет несколько констант.

numpy.ma.masked#

The masked константа является частным случаем MaskedArrayс типом данных float и нулевой формой. Используется для проверки, замаскирована ли конкретная запись маскированного массива, или для маскирования одной или нескольких записей маскированного массива:

.. try_examples::
>>> import numpy as np
>>> x = np.ma.array([1, 2, 3], mask=[0, 1, 0])
>>> x[1] is np.ma.masked
True
>>> x[-1] = np.ma.masked
>>> x
masked_array(data=[1, --, --],
             mask=[False,  True,  True],
       fill_value=999999)
numpy.ma.nomask#

Значение, указывающее, что маскированный массив не имеет недопустимых записей. nomask используется внутри для ускорения вычислений, когда маска не нужна. Внутренне она представлена как np.False_.

numpy.ma.masked_print_option#

Строка, используемая вместо отсутствующих данных при печати маскированного массива. По умолчанию эта строка '--'.

Используйте set_display() чтобы изменить строку по умолчанию. Пример использования: numpy.ma.masked_print_option.set_display('X') заменяет отсутствующие данные на 'X'.

The MaskedArray класс#

класс numpy.ma.MaskedArray[источник]#

Подкласс ndarray предназначен для манипуляции числовыми массивами с пропущенными данными.

Экземпляр MaskedArray можно рассматривать как комбинацию нескольких элементов:

  • The data, как обычный numpy.ndarray любой формы или типа данных (данные).

  • Логическое значение mask той же формы, что и данные, где True значение указывает, что соответствующий элемент данных недействителен. Специальное значение nomask также допустимо для массивов без именованных полей и указывает, что данные не являются недействительными.

  • A fill_value, значение, которое может использоваться для замены недопустимых записей, чтобы вернуть стандартный numpy.ndarray.

Атрибуты и свойства маскированных массивов#

Смотрите также

Атрибуты массива

ma.MaskedArray.данные#

Возвращает базовые данные как представление маскированного массива.

Если базовые данные являются подклассом numpy.ndarray, он возвращается как есть.

>>> x = np.ma.array(np.matrix([[1, 2], [3, 4]]), mask=[[0, 1], [1, 0]])
>>> x.data
matrix([[1, 2],
        [3, 4]])

Тип данных можно получить через baseclass атрибут.

ma.MaskedArray.маска#

Текущая маска.

ma.MaskedArray.recordmask#

Получить или установить маску массива, если у него нет именованных полей. Для структурированных массивов возвращает ndarray булевых значений, где записи являются True if все поля маскированы, False иначе:

>>> x = np.ma.array([(1, 1), (2, 2), (3, 3), (4, 4), (5, 5)],
...         mask=[(0, 0), (1, 0), (1, 1), (0, 1), (0, 0)],
...        dtype=[('a', int), ('b', int)])
>>> x.recordmask
array([False, False,  True, False, False])
ma.MaskedArray.fill_value#

Заполняющее значение маскированного массива является скаляром. При установке None будет установлено значение по умолчанию на основе типа данных.

Примеры

>>> import numpy as np
>>> for dt in [np.int32, np.int64, np.float64, np.complex128]:
...     np.ma.array([0, 1], dtype=dt).get_fill_value()
...
np.int64(999999)
np.int64(999999)
np.float64(1e+20)
np.complex128(1e+20+0j)
>>> x = np.ma.array([0, 1.], fill_value=-np.inf)
>>> x.fill_value
np.float64(-inf)
>>> x.fill_value = np.pi
>>> x.fill_value
np.float64(3.1415926535897931)

Сбросить к значениям по умолчанию:

>>> x.fill_value = None
>>> x.fill_value
np.float64(1e+20)
ma.MaskedArray.базовый класс#

Класс базовых данных (только для чтения).

ma.MaskedArray.sharedmask#

Статус совместного использования маски (только для чтения).

ma.MaskedArray.hardmask#

Определяет, можно ли снять маскировку значений через присваивания.

По умолчанию присвоение определенных значений элементам маскированного массива будет снимать с них маску. Когда hardmask является True, маска не будет изменяться через присваивания.

Примеры

>>> import numpy as np
>>> x = np.arange(10)
>>> m = np.ma.masked_array(x, x>5)
>>> assert not m.hardmask

Поскольку m имеет мягкую маску, присвоение значения элемента размаскирует этот элемент:

>>> m[8] = 42
>>> m
masked_array(data=[0, 1, 2, 3, 4, 5, --, --, 42, --],
             mask=[False, False, False, False, False, False,
                   True, True, False, True],
       fill_value=999999)

После закрепления маска не изменяется присваиваниями:

>>> hardened = np.ma.harden_mask(m)
>>> assert m.hardmask and hardened is m
>>> m[:] = 23
>>> m
masked_array(data=[23, 23, 23, 23, 23, 23, --, --, 23, --],
             mask=[False, False, False, False, False, False,
                   True, True, False, True],
       fill_value=999999)

Поскольку MaskedArray является подклассом ndarray, маскированный массив также наследует все атрибуты и свойства ndarray экземпляр.

MaskedArray.base

Базовый объект, если память взята из другого объекта.

MaskedArray.ctypes

Объект для упрощения взаимодействия массива с модулем ctypes.

MaskedArray.dtype

Тип данных элементов массива.

MaskedArray.flags

Информация о расположении памяти массива.

MaskedArray.itemsize

Длина одного элемента массива в байтах.

MaskedArray.nbytes

Общее количество байтов, потребляемых элементами массива.

MaskedArray.ndim

Количество измерений массива.

MaskedArray.shape

Кортеж размерностей массива.

MaskedArray.size

Количество элементов в массиве.

MaskedArray.strides

Кортеж байтов для шага в каждом измерении при обходе массива.

MaskedArray.imag

Мнимая часть маскированного массива.

MaskedArray.real

Действительная часть маскированного массива.

MaskedArray.flat

Возвращает плоский итератор или устанавливает плоскую версию self в значение.

MaskedArray.__array_priority__

MaskedArray методы#

Смотрите также

Методы массива

Преобразование#

MaskedArray.__float__()

Преобразовать в float.

MaskedArray.__int__()

Преобразовать в int.

MaskedArray.view([dtype, type, fill_value])

Вернуть представление данных MaskedArray.

MaskedArray.astype(dtype[, order, casting, ...])

Копия массива, приведённая к указанному типу.

MaskedArray.byteswap([inplace])

Поменять байты элементов массива местами

MaskedArray.compressed()

Возвращает все немаркированные данные как одномерный массив.

MaskedArray.filled([fill_value])

Возвращает копию объекта self, в которой замаскированные значения заполнены заданным значением.

MaskedArray.tofile(fid[, sep, format])

Сохранение маскированного массива в файл в бинарном формате.

MaskedArray.toflex()

Преобразует маскированный массив в массив гибкого типа.

MaskedArray.tolist([fill_value])

Возвращает часть данных маскированного массива в виде иерархического списка Python.

MaskedArray.torecords()

Преобразует маскированный массив в массив гибкого типа.

MaskedArray.tobytes([fill_value, order])

Возвращает данные массива как строку, содержащую сырые байты в массиве.

Манипуляция формой#

Для reshape, resize и transpose единственный аргумент-кортеж может быть заменён на n целые числа, которые будут интерпретироваться как n-кортеж.

MaskedArray.flatten([order])

Возвращает копию массива, сведённую в одно измерение.

MaskedArray.ravel([order])

Возвращает одномерную версию self в виде представления.

MaskedArray.reshape(*s, **kwargs)

Придать массиву новую форму без изменения его данных.

MaskedArray.resize(newshape[, refcheck, order])

MaskedArray.squeeze([axis])

Удалить оси длиной один из a.

MaskedArray.swapaxes(axis1, axis2, /)

Вернуть представление массива с axis1 и axis2 поменяны местами.

MaskedArray.transpose(*axes)

Возвращает представление массива с переставленными осями.

MaskedArray.T

Вид транспонированного массива.

Выбор и манипуляция элементами#

Для методов массива, принимающих axis ключевое слово, по умолчанию равно None. Если ось равна None, то массив обрабатывается как одномерный. Любое другое значение для axis представляет измерение, вдоль которого должна выполняться операция.

MaskedArray.argmax([axis, fill_value, out, ...])

Возвращает массив индексов максимальных значений вдоль заданной оси.

MaskedArray.argmin([axis, fill_value, out, ...])

Возвращает массив индексов минимальных значений вдоль заданной оси.

MaskedArray.argsort([axis, kind, order, ...])

Возвращает ndarray индексов, которые сортируют массив вдоль указанной оси.

MaskedArray.choose(choices[, out, mode])

Используйте массив индексов для создания нового массива из набора вариантов.

MaskedArray.compress(condition[, axis, out])

Возвращает a условие where равно True.

MaskedArray.diagonal([offset, axis1, axis2])

Возвращает указанные диагонали.

MaskedArray.fill(значение)

Заполнить массив скалярным значением.

MaskedArray.item(*args)

Скопировать элемент массива в стандартный скаляр Python и вернуть его.

MaskedArray.nonzero()

Возвращает индексы ненулевых элементов без маски.

MaskedArray.put(indices, values[, mode])

Установите местоположения с индексами хранения в соответствующие значения.

MaskedArray.repeat(repeats[, axis])

Повторить элементы массива.

MaskedArray.searchsorted(v[, side, sorter])

Найти индексы, где элементы v должен быть вставлен в a для сохранения порядка.

MaskedArray.sort([axis, kind, order, ...])

Сортировать массив на месте

MaskedArray.take(indices[, axis, out, mode])

Извлечение элементов из маскированного массива вдоль оси.

Сериализация и копирование#

MaskedArray.copy([order])

Возвращает копию массива.

MaskedArray.dump(файл)

Сохранить pickle массива в указанный файл.

MaskedArray.dumps()

Возвращает pickle массива в виде строки.

Вычисления#

MaskedArray.all([axis, out, keepdims])

Возвращает True, если все элементы оцениваются как True.

MaskedArray.anom([axis, dtype])

Вычисление аномалий (отклонений от среднего арифметического) вдоль заданной оси.

MaskedArray.any([axis, out, keepdims])

Возвращает True, если любой из элементов a вычисляются как True.

MaskedArray.clip([min, max, out])

Возвращает массив, значения которого ограничены [min, max].

MaskedArray.conj()

Комплексно-сопряженные все элементы.

MaskedArray.conjugate()

Вернуть комплексно-сопряженное значение поэлементно.

MaskedArray.cumprod([axis, dtype, out])

Возвращает кумулятивное произведение элементов массива по заданной оси.

MaskedArray.cumsum([axis, dtype, out])

Вернуть кумулятивную сумму элементов массива по заданной оси.

MaskedArray.max([axis, out, fill_value, ...])

Возвращает максимум вдоль заданной оси.

MaskedArray.mean([axis, dtype, out, keepdims])

Возвращает среднее значение элементов массива вдоль заданной оси.

MaskedArray.min([axis, out, fill_value, ...])

Возвращает минимум вдоль заданной оси.

MaskedArray.prod([axis, dtype, out, keepdims])

Возвращает произведение элементов массива по заданной оси.

MaskedArray.product([axis, dtype, out, keepdims])

Возвращает произведение элементов массива по заданной оси.

MaskedArray.ptp([axis, out, fill_value, ...])

Возвращает (максимум - минимум) вдоль заданного измерения (т.е. размах значений).

MaskedArray.round([decimals, out])

Возвращает каждый элемент, округленный до заданного количества десятичных знаков.

MaskedArray.std([axis, dtype, out, ddof, ...])

Возвращает стандартное отклонение элементов массива вдоль заданной оси.

MaskedArray.sum([axis, dtype, out, keepdims])

Возвращает сумму элементов массива по заданной оси.

MaskedArray.trace([offset, axis1, axis2, ...])

Возвращает сумму по диагоналям массива.

MaskedArray.var([axis, dtype, out, ddof, ...])

Вычислить дисперсию вдоль указанной оси.

Арифметические операции и операции сравнения#

Операторы сравнения:#

MaskedArray.__lt__(other)

Возвращает self

MaskedArray.__le__(other)

Возвращает self<=value.

MaskedArray.__gt__(other)

Возвращает self>value.

MaskedArray.__ge__(other)

Возвращает self>=value.

MaskedArray.__eq__(other)

Проверьте, равны ли другие элементы self поэлементно.

MaskedArray.__ne__(other)

Проверяет, не равны ли элементы other элементам self поэлементно.

Логическое значение массива (bool()):#

MaskedArray.__bool__(/)

True если self иначе False

Арифметика:#

MaskedArray.__abs__(self)

MaskedArray.__add__(other)

Добавляет self к other и возвращает новый маскированный массив.

MaskedArray.__radd__(other)

Добавить other к self и вернуть новый массив с маской.

MaskedArray.__sub__(other)

Вычесть other из self и вернуть новый маскированный массив.

MaskedArray.__rsub__(other)

Вычесть self из other и вернуть новый маскированный массив.

MaskedArray.__mul__(other)

Умножает self на other и возвращает новый маскированный массив.

MaskedArray.__rmul__(other)

Умножить other на self и вернуть новый маскированный массив.

MaskedArray.__truediv__(other)

Разделите other на self и верните новый массив с маской.

MaskedArray.__rtruediv__(other)

Разделить self на other и вернуть новый маскированный массив.

MaskedArray.__floordiv__(other)

Разделите other на self и верните новый массив с маской.

MaskedArray.__rfloordiv__(other)

Разделить self на other и вернуть новый маскированный массив.

MaskedArray.__mod__(value, /)

Возвращает self%value.

MaskedArray.__rmod__(value, /)

Возвращаемое значение%self.

MaskedArray.__divmod__(value, /)

Возвращает divmod(self, value).

MaskedArray.__rdivmod__(value, /)

Возвращает divmod(value, self).

MaskedArray.__pow__(other)

Возвести self в степень other, маскируя потенциальные NaN/Inf

MaskedArray.__rpow__(other)

Возведение other в степень self с маскировкой потенциальных NaN/Inf

MaskedArray.__lshift__(value, /)

Возвращает self<

MaskedArray.__rlshift__(value, /)

Возвращаемое значение<

MaskedArray.__rshift__(value, /)

Возвращает self>>value.

MaskedArray.__rrshift__(value, /)

Возвращаемое значение>>self.

MaskedArray.__and__(value, /)

Возвращает self&value.

MaskedArray.__rand__(value, /)

Возвращаемое значение &self.

MaskedArray.__or__(value, /)

Возвращает self|value.

MaskedArray.__ror__(value, /)

Возвращаемое значение|self.

MaskedArray.__xor__(value, /)

Возвращает self^value.

MaskedArray.__rxor__(value, /)

Возвращаемое значение^self.

Арифметические операции на месте:#

MaskedArray.__iadd__(other)

Добавить other к self на месте.

MaskedArray.__isub__(other)

Вычесть other из self на месте.

MaskedArray.__imul__(other)

Умножает self на other на месте.

MaskedArray.__itruediv__(other)

Истинное деление self на other на месте.

MaskedArray.__ifloordiv__(other)

Целочисленное деление self на other на месте.

MaskedArray.__imod__(value, /)

Возвращает self%=value.

MaskedArray.__ipow__(other)

Возвести self в степень other на месте.

MaskedArray.__ilshift__(value, /)

Возвращает self<<=value.

MaskedArray.__irshift__(value, /)

Возвращает self>>=value.

MaskedArray.__iand__(value, /)

Возвращает self&=value.

MaskedArray.__ior__(value, /)

Возвращает self|=value.

MaskedArray.__ixor__(value, /)

Возвращает self^=value.

Представление#

MaskedArray.__repr__()

Буквальное строковое представление.

MaskedArray.__str__()

Возвращает str(self).

MaskedArray.ids()

Возвращает адреса областей данных и маски.

MaskedArray.iscontiguous()

Возвращает логическое значение, указывающее, являются ли данные непрерывными.

Специальные методы#

Для функций стандартной библиотеки:

MaskedArray.__copy__()

Используется, если copy.copy вызывается для массива.

MaskedArray.__deepcopy__(memo, /)

Используется, если copy.deepcopy вызывается для массива.

MaskedArray.__getstate__()

Возвращает внутреннее состояние маскированного массива для целей pickling.

MaskedArray.__reduce__()

Возвращает кортеж из 3 элементов для сериализации MaskedArray.

MaskedArray.__setstate__(состояние)

Восстанавливает внутреннее состояние маскированного массива для целей сериализации.

Базовая настройка:

MaskedArray.__new__(cls[, data, mask, ...])

Создать новый маскированный массив с нуля.

MaskedArray.__array__([dtype], *, [, copy])

Для dtype параметр возвращает новую ссылку на self, если dtype не задан или совпадает с типом данных массива.

MaskedArray.__array_wrap__(obj[, context, ...])

Специальный хук для ufuncs.

Настройка контейнера: (см. Индексирование)

MaskedArray.__len__(/)

Возвращает len(self).

MaskedArray.__getitem__(indx)

x.__getitem__(y) <==> x[y]

MaskedArray.__setitem__(indx, value)

x.__setitem__(i, y) <==> x[i]=y

MaskedArray.__delitem__(key, /)

Удалить self[key].

MaskedArray.__contains__(key, /)

Возвращает ключ в self.

Конкретные методы#

Обработка маски#

Следующие методы могут использоваться для получения информации о маске или для управления маской.

MaskedArray.__setmask__(mask[, copy])

Установить маску.

MaskedArray.harden_mask()

Принудительно установить маску как жесткую, предотвращая снятие маски при присваивании.

MaskedArray.soften_mask()

Принудительно установить маску в мягкий режим (по умолчанию), позволяя снятие маскировки присваиванием.

MaskedArray.unshare_mask()

Скопируйте маску и установите sharedmask флаг для False.

MaskedArray.shrink_mask()

Уменьшить маску до nomask, когда это возможно.

Обработка fill_value#

MaskedArray.get_fill_value()

Заполняющее значение маскированного массива является скаляром.

MaskedArray.set_fill_value([value])

Подсчет отсутствующих элементов#

MaskedArray.count([axis, keepdims])

Подсчитать немасштабированные элементы массива вдоль заданной оси.