Постоянные модуля 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])
-
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.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__ | |
MaskedArray.__int__() | Преобразование в тип int. |
MaskedArray.__long__() | Преобразование в тип long. |
MaskedArray.__oct__ | |
MaskedArray.view([dtype, type]) | Новый вид массива с теми же данными. |
MaskedArray.astype(dtype[, order, casting, …]) | Копия массива, преобразованного к указанному типу. |
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]) | Возвращает 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, то массив обрабатывается как массив 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, где 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.16.1/reference/maskedarray.baseclass.html