Константы модуля 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])
-
MaskedArray.fill_value -
Возвращает значение, используемое для заполнения недействительных элементов маскированного массива. Значение является скаляром (если у массива нет именованных полей) или одномерным массивом с тем же
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.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__ | |
MaskedArray.__int__() | Преобразовать в целое число. |
MaskedArray.__long__() | Преобразовать в длинное целое число. |
MaskedArray.__oct__ | |
MaskedArray.view([dtype, type]) | Новый вид массива с теми же данными. |
MaskedArray.astype(newtype) | Возвращает копию MaskedArray, преобразованную к указанному типу. |
MaskedArray.byteswap([inplace]) | Поменять байты элементов массива |
MaskedArray.compressed() | Возвращает все немаскированные данные как массив 1D. |
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]) | Возвращает 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. Если axis равно None, то массив обрабатывается как массив 1D. Любое другое значение 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 где condition является 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__($self, value, /) | Возвращает self<value. |
MaskedArray.__le__($self, value, /) | Возвращает self<=value. |
MaskedArray.__gt__($self, value, /) | Возвращает self>value. |
MaskedArray.__ge__($self, value, /) | Возвращает self>=value. |
MaskedArray.__eq__(other) | Проверяет, равны ли элементы other и self. |
MaskedArray.__ne__(other) | Проверяет, не равны ли элементы other и self. |
Булево значение массива (bool):
MaskedArray.__nonzero__ |
Арифметика:
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) | Разделить self на other и вернуть новый массив с масками. |
MaskedArray.__rdiv__ | |
MaskedArray.__truediv__(other) | Разделить self на other и вернуть новый массив с масками. |
MaskedArray.__rtruediv__(other) | Разделить other на self и вернуть новый массив с масками. |
MaskedArray.__floordiv__(other) | Разделить other на self и вернуть новый массив с масками. |
MaskedArray.__rfloordiv__(other) | Разделить self на other и вернуть новый массив с масками. |
MaskedArray.__mod__($self, value, /) | Возвращает остаток от деления self на value. |
MaskedArray.__rmod__($self, value, /) | Возвращает остаток от деления value на self. |
MaskedArray.__divmod__($self, value, /) | Возвращает результат divmod(self, value). |
MaskedArray.__rdivmod__($self, value, /) | Возвращает результат divmod(value, self). |
MaskedArray.__pow__(other) | Возвести self в степень other, маскируя потенциальные NaN/бесконечности. |
MaskedArray.__rpow__(other) | Возвести other в степень self, маскируя потенциальные NaN/бесконечности. |
MaskedArray.__lshift__($self, value, /) | Возвращает self<<value. |
MaskedArray.__rlshift__($self, value, /) | Возвращает value<<self. |
MaskedArray.__rshift__($self, value, /) | Возвращает self>>value. |
MaskedArray.__rrshift__($self, value, /) | Возвращает value>>self. |
MaskedArray.__and__($self, value, /) | Возвращает self&value. |
MaskedArray.__rand__($self, value, /) | Возвращает value&self. |
MaskedArray.__or__($self, value, /) | Возвращает self|value. |
MaskedArray.__ror__($self, value, /) | Возвращает value|self. |
MaskedArray.__xor__($self, value, /) | Возвращает self^value. |
MaskedArray.__rxor__($self, value, /) | Возвращает 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__($self, value, /) | Возвращает self%=value. |
MaskedArray.__ipow__(other) | Возвести self в степень other на месте. |
MaskedArray.__ilshift__($self, value, /) | Возвращает self<<=value. |
MaskedArray.__irshift__($self, value, /) | Возвращает self>>=value. |
MaskedArray.__iand__($self, value, /) | Возвращает self&=value. |
MaskedArray.__ior__($self, value, /) | Возвращает self|=value. |
MaskedArray.__ixor__($self, 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__([data, mask, dtype, …]) | Создает новый маскированный массив с нуля. |
MaskedArray.__array__(|dtype) | Возвращает либо новую ссылку на себя, если dtype не задан, либо новый массив указанного типа данных, если dtype отличается от текущего типа данных массива. |
MaskedArray.__array_wrap__(obj[, context]) | Специальный обработчик для ufunc. |
Настройка контейнера: (см. Индексирование)
MaskedArray.__len__($self, /) | Возвращает len(self). |
MaskedArray.__getitem__(indx) | x.__getitem__(y) <==> x[y] |
MaskedArray.__setitem__(indx, value) | x.__setitem__(i, y) <==> x[i]=y |
MaskedArray.__delitem__($self, key, /) | Удаляет self[key]. |
MaskedArray.__contains__($self, 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–2019 NumPy Developers
Licensed under the 3-clause BSD License.
https://docs.scipy.org/doc/numpy-1.14.5/reference/maskedarray.baseclass.html