Spec-Zone.ru › NumPy 1.12

Константы модуля 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__() Преобразовать в число с плавающей точкой.
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) Сохраняет пикл массива в указанный файл.
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__ 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__() Возвращает кортеж из 3 элементов для сериализации 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.__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, keepdims]) Подсчитывает количество элементов массива, которые не замаскированы, вдоль заданной оси.

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

Spec-Zone.ru

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