Spec-Zone.ru › NumPy 1.13

Постоянные значения модуля 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 используется внутри для ускорения вычислений, когда маска не нужна.

numpy.ma.masked_print_options

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

Класс MaskedArray

class numpy.ma.MaskedArray [source]
Подкласс ndarray, предназначенный для работы с числовыми массивами, содержащими пропущенные данные.

Объект MaskedArray можно рассматривать как комбинацию нескольких элементов:

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

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

См. также

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

MaskedArray.data

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

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

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

MaskedArray.mask

Возвращает основополагающую маску, как массив с той же формой и структурой, что и данные, но где все поля атомарно булевы. Значение True обозначает недействительный элемент.

MaskedArray.recordmask

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

>>> x = 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], dtype=bool)
MaskedArray.fill_value

Возвращает значение, используемое для заполнения недействительных элементов маскированного массива. Значение является скалярным (если у маскированного массива нет именованных полей) или 0-мерным ndarray с тем же dtype, что и у маскированного массива, если у него есть именованные поля.

Значение заполнения по умолчанию зависит от типа данных массива:

Тип данных Значение по умолчанию
bool True
int 999999
float 1.e20
complex 1.e20+0j
object ‘?’
string ‘N/A’
MaskedArray.baseclass

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

>>> x =  ma.array(np.matrix([[1, 2], [3, 4]]), mask=[[0, 0], [1, 0]])
>>> x.baseclass
<class 'numpy.matrixlib.defmatrix.matrix'>
MaskedArray.sharedmask

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

MaskedArray.hardmask

Возвращает, является ли маска жесткой (True) или мягкой (False). Когда маска жесткая, замаскированные элементы нельзя размаскировать.

Так как 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 Плоское представление массива.
MaskedArray.__array_priority__

Методы MaskedArray

См. также

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

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

MaskedArray.__float__() Преобразовать в число с плавающей точкой.
MaskedArray.__hex__() <==> hex(x)
MaskedArray.__int__() Преобразовать в целое число.
MaskedArray.__long__() <==> long(x)
MaskedArray.__oct__() <==> oct(x)
MaskedArray.view([dtype, type]) Новый вид массива с теми же данными.
MaskedArray.astype(newtype) Возвращает копию MaskedArray, преобразованную к указанному новому типу.
MaskedArray.byteswap(inplace) Поменять байты элементов массива
MaskedArray.compressed() Возвращает все немаскированные данные как массив 1-D.
MaskedArray.filled([fill_value]) Возвращает копию self, с замаскированными значениями, заполненными заданным значением.
MaskedArray.tofile(fid[, sep, format]) Сохраняет маскированный массив в файл в двоичном формате.
MaskedArray.toflex() Преобразует маскированный массив в массив гибкого типа.
MaskedArray.tolist([fill_value]) Возвращает часть данных маскированного массива в виде иерархического Python-списка.
MaskedArray.torecords() Преобразует маскированный массив в массив гибкого типа.
MaskedArray.tostring([fill_value, order]) Эта функция является совместимым псевдонимом для tobytes.
MaskedArray.tobytes([fill_value, order]) Возвращает данные массива в виде строки, содержащей сырые байты в массиве.

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

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

MaskedArray.flatten([order]) Возвращает копию массива, свёрнутого в одну размерность.
MaskedArray.ravel([order]) Возвращает 1-мерную версию 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. Если axis равно 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) Сохраняет копию массива в указанный файл в формате 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__ x.__lt__(y) <==> x<y
MaskedArray.__le__ x.__le__(y) <==> x<=y
MaskedArray.__gt__ x.__gt__(y) <==> x>y
MaskedArray.__ge__ x.__ge__(y) <==> x>=y
MaskedArray.__eq__(other) Проверяет, равны ли элементы other элементу self.
MaskedArray.__ne__(other) Проверяет, не равны ли элементы other элементу self.

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

MaskedArray.__nonzero__ x.__nonzero__() <==> x != 0

Арифметика:

MaskedArray.__abs__() <==> abs(x)
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.__rdiv__ x.__rdiv__(y) <==> y/x
MaskedArray.__truediv__(other) Разделить other на self и вернуть новую маску.
MaskedArray.__rtruediv__(other) Разделить self на other и вернуть новую маску.
MaskedArray.__floordiv__(other) Разделить other на self и вернуть новую маску.
MaskedArray.__rfloordiv__(other) Разделить self на other и вернуть новую маску.
MaskedArray.__mod__ x.__mod__(y) <==> x%y
MaskedArray.__rmod__ x.__rmod__(y) <==> y%x
MaskedArray.__divmod__(y) <==> divmod(x, y)
MaskedArray.__rdivmod__(y) <==> divmod(y, x)
MaskedArray.__pow__(other) Возведение self в степень other, маскируя потенциальные NaN/Inf
MaskedArray.__rpow__(other) Возведение other в степень self, маскируя потенциальные NaN/Inf
MaskedArray.__lshift__ x.__lshift__(y) <==> x<<y
MaskedArray.__rlshift__ x.__rlshift__(y) <==> y<<x
MaskedArray.__rshift__ x.__rshift__(y) <==> x>>y
MaskedArray.__rrshift__ x.__rrshift__(y) <==> y>>x
MaskedArray.__and__ x.__and__(y) <==> x&y
MaskedArray.__rand__ x.__rand__(y) <==> y&x
MaskedArray.__or__ x.__or__(y) <==> x|y
MaskedArray.__ror__ x.__ror__(y) <==> y|x
MaskedArray.__xor__ x.__xor__(y) <==> x^y
MaskedArray.__rxor__ x.__rxor__(y) <==> y^x

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

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__ x.__imod__(y) <==> x%=y
MaskedArray.__ipow__(other) Возведение self в степень other на месте.
MaskedArray.__ilshift__ x.__ilshift__(y) <==> x<<=y
MaskedArray.__irshift__ x.__irshift__(y) <==> x>>=y
MaskedArray.__iand__ x.__iand__(y) <==> x&=y
MaskedArray.__ior__ x.__ior__(y) <==> x|=y
MaskedArray.__ixor__ x.__ixor__(y) <==> x^=y

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

MaskedArray.__repr__() Литеральное строковое представление.
MaskedArray.__str__() Строковое представление.
MaskedArray.ids() Возвращает адреса областей данных и маски.
MaskedArray.iscontiguous() Возвращает булево значение, указывающее, являются ли данные непрерывными.

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

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

MaskedArray.__copy__([order]) Возвращает копию массива.
MaskedArray.__deepcopy__([memo])
MaskedArray.__getstate__() Возвращает внутреннее состояние маскированного массива для целей сериализации.
MaskedArray.__reduce__() Возвращает тройку для сериализации MaskedArray.
MaskedArray.__setstate__(state) Восстанавливает внутреннее состояние маскированного массива для целей сериализации.

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

MaskedArray.__new__([data, mask, dtype, ...]) Создает новый маскированный массив с нуля.
MaskedArray.__array__(...) Возвращает либо новую ссылку на self, если dtype не указан, либо новый массив указанного типа данных, если dtype отличается от текущего типа данных массива.
MaskedArray.__array_wrap__(obj[, context]) Специальный обработчик для ufunc.

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

MaskedArray.__len__() <==> len(x)
MaskedArray.__getitem__(indx) x.__getitem__(y) <==> x[y]
MaskedArray.__setitem__(indx, value) x.__setitem__(i, y) <==> x[i]=y
MaskedArray.__delitem__ x.__delitem__(y) <==> del x[y]
MaskedArray.__contains__ x.__contains__(y) <==> y in x

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

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

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

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]) Подсчитывает количество непропущенных элементов массива по заданной оси.

© 2008–2017 NumPy Developers
Licensed under the NumPy License.
https://docs.scipy.org/doc/numpy-1.13.0/reference/maskedarray.baseclass.html

Spec-Zone.ru

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