Spec-Zone.ru › NumPy 2.0

Константы модуля 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.sharedmask

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

ma.MaskedArray.hardmask

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

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

См. также

ma.MaskedArray.harden_mask
ma.MaskedArray.soften_mask

Примеры

>>> 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])

Сохранить массив Masked в файл в двоичном формате.

MaskedArray.toflex()

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

MaskedArray.tolist([fill_value])

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

MaskedArray.torecords()

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

MaskedArray.tostring([fill_value, order])

Alias совместимости для tobytes, с абсолютно идентичным поведением.

MaskedArray.tobytes([fill_value, order])

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

Изменение формы

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

MaskedArray.flatten([order])

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

MaskedArray.ravel([order])

Возвращает 1D версию 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, ...])

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

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

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

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

Возвращает a, где условие True.

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

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

MaskedArray.fill(value)

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

MaskedArray.item(*args)

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

MaskedArray.nonzero()

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

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

Установить значения по индексам.

MaskedArray.repeat(repeats[, axis])

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

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

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

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

Отсортировать массив на месте.

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

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

MaskedArray.copy([order])

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

MaskedArray.dump(file)

Сохраняет сериализованную копию массива в указанный файл.

MaskedArray.dumps()

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

Вычисления

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<=значение.

MaskedArray.__gt__(other)

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

MaskedArray.__ge__(other)

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

MaskedArray.__eq__(other)

Проверяет, равны ли элементы 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.__div__(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%значение.

MaskedArray.__rmod__(value, /)

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

MaskedArray.__divmod__(value, /)

Возвращает divmod(self, значение).

MaskedArray.__rdivmod__(value, /)

Возвращает divmod(значение, self).

MaskedArray.__pow__(other)

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

MaskedArray.__rpow__(other)

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

MaskedArray.__lshift__(value, /)

Возвращает self<<значение.

MaskedArray.__rlshift__(value, /)

Возвращает значение<<self.

MaskedArray.__rshift__(value, /)

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

MaskedArray.__rrshift__(value, /)

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

MaskedArray.__and__(value, /)

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

MaskedArray.__rand__(value, /)

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

MaskedArray.__or__(value, /)

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

MaskedArray.__ror__(value, /)

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

MaskedArray.__xor__(value, /)

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

MaskedArray.__rxor__(value, /)

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

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

MaskedArray.__iadd__(other)

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

MaskedArray.__isub__(other)

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

MaskedArray.__imul__(other)

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

MaskedArray.__idiv__(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__()

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

MaskedArray.__reduce__()

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

MaskedArray.__setstate__(state)

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

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

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

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

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

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

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

Специальный обработчик для ufunc.

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

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, /)

Возвращает key in self.

Уникальные методы

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

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

MaskedArray.__setmask__(mask[, copy])

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

MaskedArray.harden_mask()

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

MaskedArray.soften_mask()

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

MaskedArray.unshare_mask()

Копировать маску и установить sharedmask флаг в значение False.

MaskedArray.shrink_mask()

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

Обработка значения заполнения

MaskedArray.get_fill_value()

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

MaskedArray.set_fill_value([value])

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

MaskedArray.count([axis, keepdims])

Подсчёт не-маскированных элементов массива вдоль заданной оси.

© 2005–2024 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/2.0/reference/maskedarray.baseclass.html

Spec-Zone.ru

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