Постоянные значения модуля 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 = np.ma.array(np.matrix([[1, 2], [3, 4]]), mask=[[0, 1], [1, 0]]) >>> x.data matrix([[1, 2], [3, 4]])Тип данных можно получить через атрибут
baseclass.
-
MaskedArray.mask -
Текущая маска.
-
MaskedArray.recordmask -
Получение или установка маски массива, если у него нет именованных полей. Для структурированных массивов возвращает массив булевых значений, где элементы равны
Trueесли все поля замаскированы,Falseв противном случае:>>> x = np.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 -
Значение заполнения массива с маской — скаляр. При установке None будет установлено значение по умолчанию, соответствующее типу данных.
Примеры
>>> for dt in [np.int32, np.int64, np.float64, np.complex128]: ... np.ma.array([0, 1], dtype=dt).get_fill_value() ... 999999 999999 1e+20 (1e+20+0j)
>>> x = np.ma.array([0, 1.], fill_value=-np.inf) >>> x.fill_value -inf >>> x.fill_value = np.pi >>> x.fill_value 3.1415926535897931 # may vary
Сброс к значению по умолчанию:
>>> x.fill_value = None >>> x.fill_value 1e+20
-
MaskedArray.baseclass -
Класс базовых данных (только для чтения).
-
Статус совместного использования маски (только для чтения).
-
MaskedArray.hardmask -
Твёрдость маски
Поскольку 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 | Возвращает итератор в плоском формате или устанавливает сглаженную копию объекта self в значение. |
MaskedArray.__array_priority__ |
Методы MaskedArray
См. также
Преобразование
MaskedArray.__float__(self) | Преобразование в тип float. |
MaskedArray.__int__(self) | Преобразование в тип int. |
MaskedArray.__long__(self) | Преобразование в тип long. |
MaskedArray.view([dtype, type]) | Новый вид массива с теми же данными. |
MaskedArray.astype(dtype[, order, casting, …]) | Копия массива, преобразованная к указанному типу. |
MaskedArray.byteswap([inplace]) | Перестановка байтов элементов массива |
MaskedArray.compressed(self) | Возвращает все немаскированные данные как массив 1D. |
MaskedArray.filled(self[, fill_value]) | Возвращает копию self, с замаскированными значениями, заполненными заданным значением. |
MaskedArray.tofile(self, fid[, sep, format]) | Сохранение маскированного массива в файл в двоичном формате. |
MaskedArray.toflex(self) | Преобразует маскированный массив в массив гибкого типа. |
MaskedArray.tolist(self[, fill_value]) | Возвращает часть данных маскированного массива в виде иерархического списка Python. |
MaskedArray.torecords(self) | Преобразует маскированный массив в массив гибкого типа. |
MaskedArray.tostring(self[, fill_value, order]) | Эта функция является совместимым псевдонимом для tobytes. |
MaskedArray.tobytes(self[, fill_value, order]) | Возвращает данные массива в виде строки, содержащей исходные байты в массиве. |
Изменение формы массива
Для reshape, resize и transpose, единственный аргумент кортежа может быть заменен на n целых чисел, которые будут интерпретированы как n-кортеж.
MaskedArray.flatten([order]) | Возвращает копию массива, сжатого в одном измерении. |
MaskedArray.ravel(self[, order]) | Возвращает 1D версию self в виде представления. |
MaskedArray.reshape(self, \*s, \*\*kwargs) | Придает новую форму массиву, не изменяя его данных. |
MaskedArray.resize(self, newshape[, …]) | |
MaskedArray.squeeze([axis]) | Удаляет одноразмерные записи из формы a. |
MaskedArray.swapaxes(axis1, axis2) | Возвращает представление массива с axis1 и axis2 поменявшимися местами. |
MaskedArray.transpose(*axes) | Возвращает представление массива с переставленными осями. |
MaskedArray.T |
Выбор и обработка элементов
Для методов массива, принимающих ключевое слово axis, оно по умолчанию None. Если axis равно None, то массив обрабатывается как одномерный массив. Любое другое значение axis представляет измерение, по которому должно происходить действие.
MaskedArray.argmax(self[, axis, fill_value, out]) | Возвращает массив индексов максимальных значений вдоль данной оси. |
MaskedArray.argmin(self[, axis, fill_value, out]) | Возвращает массив индексов минимальных значений вдоль данной оси. |
MaskedArray.argsort(self[, axis, kind, …]) | Возвращает массив индексов, сортирующий массив вдоль заданной оси. |
MaskedArray.choose(choices[, out, mode]) | Использует массив индексов для построения нового массива из набора выборов. |
MaskedArray.compress(self, condition[, …]) | Возвращает a, где условие True. |
MaskedArray.diagonal([offset, axis1, axis2]) | Возвращает указанные диагонали. |
MaskedArray.fill(value) | Заполняет массив скалярным значением. |
MaskedArray.item(*args) | Копирует элемент массива в стандартный скаляр Python и возвращает его. |
MaskedArray.nonzero(self) | Возвращает индексы незамаскированных элементов, которые не равны нулю. |
MaskedArray.put(self, indices, values[, mode]) | Устанавливает места, индексированные по хранилищу, на соответствующие значения. |
MaskedArray.repeat(repeats[, axis]) | Повторяет элементы массива. |
MaskedArray.searchsorted(v[, side, sorter]) | Находит индексы, куда необходимо вставить элементы v, чтобы сохранить порядок. |
MaskedArray.sort(self[, axis, kind, order, …]) | Сортирует массив на месте. |
MaskedArray.take(self, indices[, axis, out, …]) |
Сериализация и копирование
MaskedArray.copy([order]) | Возвращает копию массива. |
MaskedArray.dump(file) | Сохраняет сериализованную копию массива в указанный файл. |
MaskedArray.dumps() | Возвращает сериализованную копию массива в виде строки. |
Вычисления
MaskedArray.all(self[, axis, out, keepdims]) | Возвращает True, если все элементы равны True. |
MaskedArray.anom(self[, axis, dtype]) | Вычисляет аномалии (отклонения от арифметического среднего) по заданной оси. |
MaskedArray.any(self[, axis, out, keepdims]) | Возвращает True, если любой из элементов a равен True. |
MaskedArray.clip([min, max, out]) | Возвращает массив, значения которого ограничены [min, max]. |
MaskedArray.conj() | Комплексно сопрягает все элементы. |
MaskedArray.conjugate() | Возвращает комплексно сопряжённое значение, поэлементно. |
MaskedArray.cumprod(self[, axis, dtype, out]) | Возвращает кумулятивное произведение элементов массива по заданной оси. |
MaskedArray.cumsum(self[, axis, dtype, out]) | Возвращает кумулятивную сумму элементов массива по заданной оси. |
MaskedArray.max(self[, axis, out, …]) | Возвращает максимальное значение по заданной оси. |
MaskedArray.mean(self[, axis, dtype, out, …]) | Возвращает среднее значение элементов массива по заданной оси. |
MaskedArray.min(self[, axis, out, …]) | Возвращает минимальное значение по заданной оси. |
MaskedArray.prod(self[, axis, dtype, out, …]) | Возвращает произведение элементов массива по заданной оси. |
MaskedArray.product(self[, axis, dtype, …]) | Возвращает произведение элементов массива по заданной оси. |
MaskedArray.ptp(self[, axis, out, …]) | Возвращает (максимум - минимум) по заданной размерности (т.е. |
MaskedArray.round(self[, decimals, out]) | Возвращает каждый элемент, округленный до заданного числа десятичных знаков. |
MaskedArray.std(self[, axis, dtype, out, …]) | Возвращает стандартное отклонение элементов массива по заданной оси. |
MaskedArray.sum(self[, axis, dtype, out, …]) | Возвращает сумму элементов массива по заданной оси. |
MaskedArray.trace([offset, axis1, axis2, …]) | Возвращает сумму по диагоналям массива. |
MaskedArray.var(self[, axis, dtype, out, …]) | Вычисляет дисперсию по заданной оси. |
Арифметические и сравнения операции
Операторы сравнения:
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__(self, other) | Проверяет, равны ли элементы other и self. |
MaskedArray.__ne__(self, other) | Проверяет, не равны ли элементы other и self. |
Логическое значение массива (bool):
MaskedArray.__bool__(self, /) | self != 0 |
Арифметика:
MaskedArray.__abs__(self) | |
MaskedArray.__add__(self, other) | Добавить self к other и вернуть новую маску. |
MaskedArray.__radd__(self, other) | Добавить other к self и вернуть новую маску. |
MaskedArray.__sub__(self, other) | Вычесть other из self и вернуть новую маску. |
MaskedArray.__rsub__(self, other) | Вычесть self из other и вернуть новую маску. |
MaskedArray.__mul__(self, other) | Умножить self на other и вернуть новую маску. |
MaskedArray.__rmul__(self, other) | Умножить other на self и вернуть новую маску. |
MaskedArray.__div__(self, other) | Разделить self на other и вернуть новую маску. |
MaskedArray.__truediv__(self, other) | Разделить self на other и вернуть новую маску. |
MaskedArray.__rtruediv__(self, other) | Разделить other на self и вернуть новую маску. |
MaskedArray.__floordiv__(self, other) | Разделить self на other, возвращая целую часть и новую маску. |
MaskedArray.__rfloordiv__(self, other) | Разделить other на self, возвращая целую часть и новую маску. |
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__(self, other) | Возвести self в степень other, маскируя потенциальные NaN/бесконечности. |
MaskedArray.__rpow__(self, other) | Возвести other в степень self, маскируя потенциальные NaN/бесконечности. |
MaskedArray.__lshift__(self, value, /) | Возвращает результат сдвига влево self< |
MaskedArray.__rlshift__(self, value, /) | Возвращает результат сдвига влево value< |
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, /) | Возвращает результат побитового XOR self^value. |
MaskedArray.__rxor__(self, value, /) | Возвращает результат побитового XOR value^self. |
Арифметические операции на месте:
MaskedArray.__iadd__(self, other) | Добавить other к self на месте. |
MaskedArray.__isub__(self, other) | Вычесть other из self на месте. |
MaskedArray.__imul__(self, other) | Умножить self на other на месте. |
MaskedArray.__idiv__(self, other) | Разделить self на other на месте. |
MaskedArray.__itruediv__(self, other) | Деление по модулю self на other на месте. |
MaskedArray.__ifloordiv__(self, other) | Целочисленное деление self на other на месте. |
MaskedArray.__imod__(self, value, /) | Возвращает self%=value. |
MaskedArray.__ipow__(self, 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__(self) | Строковое представление. |
MaskedArray.__str__(self) | Возвращает str(self). |
MaskedArray.ids(self) | Возвращает адреса областей данных и маски. |
MaskedArray.iscontiguous(self) | Возвращает булево значение, указывающее, являются ли данные непрерывными. |
Специальные методы
Для стандартных функций библиотеки:
MaskedArray.__copy__() | Используется, если для массива вызывается copy.copy. |
MaskedArray.__deepcopy__(self[, memo]) | Используется, если для массива вызывается copy.deepcopy. |
MaskedArray.__getstate__(self) | Возвращает внутреннее состояние массива с маской для целей сериализации. |
MaskedArray.__reduce__(self) | Возвращает кортеж из 3 элементов для сериализации массива с маской. |
MaskedArray.__setstate__(self, state) | Восстанавливает внутреннее состояние массива с маской для целей сериализации. |
Настройка основных свойств:
MaskedArray.__new__(cls[, data, mask, …]) | Создаёт новый массив с маской с нуля. |
MaskedArray.__array__() | Возвращает либо новую ссылку на себя, если тип данных не указан, или новый массив указанного типа данных, если тип данных отличается от текущего типа данных массива. |
MaskedArray.__array_wrap__(self, obj[, context]) | Специальный обработчик для функций ufuncs. |
Настройка свойств контейнера: (см. Индексирование)
MaskedArray.__len__(self, /) | Возвращает len(self). |
MaskedArray.__getitem__(self, indx) | x.__getitem__(y) <==> x[y] |
MaskedArray.__setitem__(self, indx, value) | x.__setitem__(i, y) <==> x[i]=y |
MaskedArray.__delitem__(self, key, /) | Удаляет self[key]. |
MaskedArray.__contains__(self, key, /) | Возвращает key in self. |
Методы обработки массивов
Обработка маски
Следующие методы могут использоваться для доступа к информации о маске или для манипулирования ею.
MaskedArray.__setmask__(self, mask[, copy]) | Устанавливает маску. |
MaskedArray.harden_mask(self) | Заставляет маску стать жесткой. |
MaskedArray.soften_mask(self) | Заставляет маску стать мягкой. |
MaskedArray.unshare_mask(self) | Копирует маску и устанавливает флаг sharedmask в значение False. |
MaskedArray.shrink_mask(self) | Сокращает маску до nomask, когда это возможно. |
Обработка значения заполнения
MaskedArray.get_fill_value(self) | Значение заполнения массива с маской является скалярным. |
MaskedArray.set_fill_value(self[, value]) |
Подсчёт пропущенных элементов
MaskedArray.count(self[, axis, keepdims]) | Подсчитывает количество элементов без маски в массиве по заданной оси. |
© 2005–2019 NumPy Developers
Licensed under the 3-clause BSD License.
https://docs.scipy.org/doc/numpy-1.17.0/reference/maskedarray.baseclass.html