Spec-Zone.ru › NumPy 1.10

Постоянные модуля numpy.ma

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

numpy.ma.masked

Константа masked — это специальный случай MaskedArray с плавающей точкой и нулевой формой. Она используется для проверки, замаскирован ли конкретный элемент массива, или для маскировки одного или нескольких элементов массива:

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

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

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

Тип данных Значение по умолчанию
bool True
int 999999
float 1.e20
complex 1.e20+0j
object ‘?’
строка ‘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__() Преобразование в тип float.
MaskedArray.__hex__() <==> hex(x)
MaskedArray.__int__() Преобразование в тип 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, то массив обрабатывается как массив 1-D. Любое другое значение 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]) Проверяет, все ли элементы a равны true.
MaskedArray.anom([axis, dtype]) Вычисляет аномалии (отклонения от арифметического среднего) по заданной оси.
MaskedArray.any([axis, out]) Проверяет, хотя бы один элемент 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]) Возвращает среднее значение элементов массива.
MaskedArray.min([axis, out, fill_value]) Возвращает минимальное значение по заданной оси.
MaskedArray.prod([axis, dtype, out]) Возвращает произведение элементов массива по заданной оси.
MaskedArray.product([axis, dtype, out]) Возвращает произведение элементов массива по заданной оси.
MaskedArray.ptp([axis, out, fill_value]) Возвращает разность максимального и минимального значений по заданной оси (т.е.
MaskedArray.round([decimals, out]) Возвращает массив, где каждый элемент округлён до заданного числа десятичных знаков.
MaskedArray.std([axis, dtype, out, ddof]) Вычисляет стандартное отклонение по заданной оси.
MaskedArray.sum([axis, dtype, out]) Возвращает сумму элементов массива по заданной оси.
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) Разделить self на other и вернуть новую маску.
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/бесконечности
MaskedArray.__rpow__(other) Возвести other в степень self, маскируя потенциальные NaN/бесконечности
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__() Возвращает кортеж из 3 элементов для сериализации MaskedArray.
MaskedArray.__setstate__(state) Восстанавливает внутреннее состояние маскированного массива для целей сериализации.

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

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

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

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.__getslice__(i, j) x.__getslice__(i, j) <==> x[i:j]
MaskedArray.__setslice__(i, j, value) x.__setslice__(i, j, value) <==> x[i:j]=value
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]) Подсчитывает количество не замаскированных элементов массива вдоль заданной оси.

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

Spec-Zone.ru

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