Spec-Zone.ru › NumPy 1.11

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

Возвращает маску массива, если он не имеет именованных полей. Для структурированных массивов возвращает массив булевых значений, где элементы равны 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 ‘?’
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__() Преобразование в тип 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-мерный массив. Любое другое значение 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 истинными.
MaskedArray.anom([axis, dtype]) Вычислить аномалии (отклонения от арифметического среднего) по заданной оси.
MaskedArray.any([axis, out]) Проверить, являются ли какие-либо элементы a истинными.
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]) Возвращает a с каждым элементом, округленным до заданного числа десятичных знаков.
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__() Возвращает тройку кортежей для сериализации 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.11.0/reference/maskedarray.baseclass.html

Spec-Zone.ru

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