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