Постоянные значения модуля 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 -
Возвращает маску массива, если у него нет именованных полей. Для структурированных массивов возвращает ndarray булевых значений, где элементы имеют значение
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-мерным ndarray с тем же
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__() | Преобразовать в число с плавающей точкой. |
MaskedArray.__hex__() <==> hex(x) | |
MaskedArray.__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, то массив обрабатывается как одномерный массив. Любое другое значение 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) | Сохраняет копию массива в указанный файл в формате pickle. |
MaskedArray.dumps() | Возвращает копию массива в формате pickle в виде строки. |
Вычисления
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__ | 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) | Разделить other на self и вернуть новую маску. |
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/Inf |
MaskedArray.__rpow__(other) | Возведение other в степень self, маскируя потенциальные NaN/Inf |
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]) | Специальный обработчик для ufunc. |
Настройка контейнера: (см. Индексирование)
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.__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, keepdims]) | Подсчитывает количество непропущенных элементов массива по заданной оси. |
© 2008–2017 NumPy Developers
Licensed under the NumPy License.
https://docs.scipy.org/doc/numpy-1.13.0/reference/maskedarray.baseclass.html