Константы модуля numpy.ma
Помимо класса MaskedArray, модуль numpy.ma определяет несколько констант.
- numpy.ma.masked
-
Константа
masked— это специальный случайMaskedArrayс типом данных float и нулевым размером. Она используется для проверки, замаскирован ли конкретный элемент массива, или для маскировки одного или нескольких элементов массива:>>> x = ma.array([1, 2, 3], mask=[0, 1, 0]) >>> x[1] is ma.masked True >>> x[-1] = 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'.
Класс MaskedArray
- классnumpy.ma.MaskedArray[source]
Подкласс ndarray, предназначенный для работы с числовыми массивами, содержащими пропущенные данные.
Экземпляр MaskedArray можно рассматривать как комбинацию нескольких элементов:
- Данные
dataкак обычный массивnumpy.ndarrayлюбой формы и типа данных (сами данные). - Логическое значение маски
maskс такой же формой, что и данные, где значениеTrueуказывает, что соответствующий элемент данных недействителен. Специальное значениеnomaskтакже приемлемо для массивов без именованных полей и означает, что данные не содержат недействительных значений. - Значение заполнения
fill_value, которое может использоваться для замены недействительных элементов, чтобы получить стандартный массивnumpy.ndarray.
Атрибуты и свойства маскированных массивов
См. также
- ma.MaskedArray.data
-
Возвращает базовые данные как представление маскированного массива.
Если базовые данные являются подклассом
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.mask
-
Текущая маска.
- ma.MaskedArray.recordmask
-
Получение или установка маски массива, если у него нет именованных полей. Для структурированных массивов возвращает массив булевых значений, где элементы имеют значение
True, если все поля замаскированы,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, значение устанавливается по умолчанию в зависимости от типа данных.
Примеры
>>> 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.baseclass
-
Класс базовых данных (только для чтения).
-
Статус совместного использования маски (только для чтения).
- ma.MaskedArray.hardmask
-
Указывает, можно ли размаскировать значения путем присваивания.
По умолчанию, присваивание определенных значений элементам маскированного массива размаскирует их. Когда
hardmaskравноTrue, маска не будет меняться при присваивании.Примеры
>>> 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.
Базовый объект, если память взята из другого объекта. | |
Объект для упрощения взаимодействия массива с модулем ctypes. | |
Тип данных элементов массива. | |
Информация о расположении памяти массива. | |
Длина одного элемента массива в байтах. | |
Общее количество байтов, занимаемых элементами массива. | |
Количество измерений массива. | |
Кортеж измерений массива. | |
Количество элементов в массиве. | |
Кортеж байтов для перемещения по каждому измерению при обходе массива. | |
Мнимая часть маскированного массива. | |
Вещественная часть маскированного массива. | |
Возвращает итератор в плоской форме или устанавливает плоское представление self в значение. | |
Методы MaskedArray
См. также
Преобразование
Преобразовать в float. | |
Преобразовать в int. | |
| Возвратить представление данных MaskedArray. |
| Копия массива, преобразованного к указанному типу. |
| Переставить байты элементов массива |
Возвратить все немаскированные данные как одномерный массив. | |
| Возвратить копию self, с замаскированными значениями, заполненными заданным значением. |
| Сохранить массив Masked в файл в двоичном формате. |
Преобразует массив Masked в массив гибкого типа. | |
| Возвращает часть данных массива Masked как иерархический Python-список. |
Преобразует массив Masked в массив гибкого типа. | |
| Alias совместимости для |
| Возвращает данные массива в виде строки, содержащей исходные байты в массиве. |
Изменение формы
Для reshape, resize и transpose, единственный кортеж аргументов можно заменить n целыми числами, которые будут интерпретированы как n-кортеж.
| Возвращает копию массива, сжатого в одну размерность. |
| Возвращает 1D версию self, как представление. |
| Придать новую форму массиву без изменения его данных. |
| |
| Удалить оси длиной один из |
| Возвратить представление массива с |
| Возвращает представление массива с переставленными осями. |
Представление транспонированного массива. |
Выбор и преобразование элементов
Для методов массива, которые принимают axis ключевое слово, оно по умолчанию равно None. Если ось равна None, то массив обрабатывается как одномерный. Любое другое значение для axis представляет размерность, по которой должно происходить действие.
| Возвращает массив индексов максимальных значений вдоль заданной оси. |
| Возвращает массив индексов минимальных значений вдоль заданной оси. |
| Возвращает массив индексов, которые упорядочивают массив вдоль указанной оси. |
| Использует массив индексов для построения нового массива из набора вариантов. |
| Возвращает |
| Возвращает указанные диагонали. |
| Заполнить массив скалярным значением. |
| Скопировать элемент массива в стандартный Python-скаляр и вернуть его. |
Возвращает индексы незамаскированных элементов, которые не равны нулю. | |
| Установить значения по индексам. |
| Повторить элементы массива. |
| Найти индексы, куда нужно вставить элементы v, чтобы сохранить порядок. |
| Отсортировать массив на месте. |
|
Сериализация и копирование
| Возвращает копию массива. |
| Сохраняет сериализованную копию массива в указанный файл. |
Возвращает сериализованную копию массива в виде строки. |
Вычисления
| Возвращает True, если все элементы равны True. |
| Вычисляет аномалии (отклонения от арифметического среднего) по заданной оси. |
| Возвращает True, если любой из элементов |
| Возвращает массив, значения которого ограничены |
Комплексно сопрягает все элементы. | |
Возвращает комплексно сопряжённые элементы. | |
| Возвращает кумулятивное произведение элементов массива по заданной оси. |
| Возвращает кумулятивную сумму элементов массива по заданной оси. |
| Возвращает максимальное значение по заданной оси. |
| Возвращает среднее значение элементов массива по заданной оси. |
| Возвращает минимальное значение по заданной оси. |
| Возвращает произведение элементов массива по заданной оси. |
| Возвращает произведение элементов массива по заданной оси. |
| Возвращает разность максимального и минимального значений по заданной оси (т.е. пиковое значение). |
| Возвращает каждый элемент, округленный до заданного числа десятичных знаков. |
| Возвращает стандартное отклонение элементов массива по заданной оси. |
| Возвращает сумму элементов массива по заданной оси. |
| Возвращает сумму по диагоналям массива. |
| Вычисляет дисперсию по заданной оси. |
Арифметические и операторы сравнения
Операторы сравнения:
| Возвращает self<значение. |
| Возвращает self<=значение. |
| Возвращает self>значение. |
| Возвращает self>=значение. |
| Проверяет, равны ли элементы other и self. |
| Проверяет, не равны ли элементы other и self. |
Логическое значение массива (bool()):
True, если self, иначе False |
Арифметика:
| |
| Добавляет self к other и возвращает новый массив с масками. |
| Добавляет other к self и возвращает новый массив с масками. |
| Вычитает other из self и возвращает новый массив с масками. |
| Вычитает self из other и возвращает новый массив с масками. |
| Умножает self на other и возвращает новый массив с масками. |
| Умножает other на self и возвращает новый массив с масками. |
| Делит other на self и возвращает новый массив с масками. |
| Делит other на self и возвращает новый массив с масками. |
| Делит self на other и возвращает новый массив с масками. |
| Делит other на self и возвращает новый массив с масками. |
| Делит self на other и возвращает новый массив с масками. |
| Возвращает self%значение. |
| Возвращает значение%self. |
| Возвращает divmod(self, значение). |
| Возвращает divmod(значение, self). |
| Возводит self в степень other, маскируя потенциальные NaN/бесконечности. |
| Возводит other в степень self, маскируя потенциальные NaN/бесконечности. |
| Возвращает self<<значение. |
| Возвращает значение<<self. |
| Возвращает self>>значение. |
| Возвращает значение>>self. |
| Возвращает self&значение. |
| Возвращает значение&self. |
| Возвращает self|значение. |
| Возвращает значение|self. |
| Возвращает self^значение. |
| Возвращает значение^self. |
Арифметические операции (на месте):
| Добавить other к self на месте. |
| Вычесть other из self на месте. |
| Умножить self на other на месте. |
| Разделить self на other на месте. |
| Разделить self на other (с плавающей запятой) на месте. |
| Целочисленное деление self на other на месте. |
| Возвращает self%=value. |
| Возвести self в степень other на месте. |
| Возвращает self<<=value. |
| Возвращает self>>=value. |
| Возвращает self&=value. |
| Возвращает self|=value. |
| Возвращает self^=value. |
Представление
Строковое представление. | |
Возвращает str(self). | |
Возвращает адреса областей данных и маски. | |
Возвращает булево значение, указывающее, являются ли данные непрерывными. |
Специальные методы
Для стандартных функций библиотеки:
Используется, если на массив вызывается | |
| Используется, если на массив вызывается |
Возвращает внутреннее состояние маскированного массива для целей сериализации. | |
Возвращает кортеж из 3 элементов для сериализации MaskedArray. | |
| Восстанавливает внутреннее состояние маскированного массива для целей сериализации. |
Базовая настройка:
| Создает новый маскированный массив с нуля. |
| Для параметра |
| Специальный обработчик для ufunc. |
Настройка контейнера: (см. Индексирование)
Возвращает len(self). | |
| x.__getitem__(y) <==> x[y] |
| x.__setitem__(i, y) <==> x[i]=y |
| Удалить self[key]. |
| Возвращает key in self. |
Уникальные методы
Обработка маски
Следующие методы могут быть использованы для доступа к информации о маске или для манипулирования ею.
| Установить маску. |
Принудительно установить маску в жёсткий режим, предотвращая размаскирование путём присваивания. | |
Принудительно установить маску в мягкий режим (по умолчанию), позволяя размаскирование путём присваивания. | |
Копировать маску и установить | |
Свести маску к nomask, когда это возможно. |
Обработка значения заполнения
Значение заполнения маскированного массива является скалярным. | |
|
Подсчёт отсутствующих элементов
| Подсчёт не-маскированных элементов массива вдоль заданной оси. |
© 2005–2024 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/2.0/reference/maskedarray.baseclass.html