Константы модуля 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__() | Преобразовать в число с плавающей точкой. |
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) | Сохраняет пикл массива в указанный файл. |
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__ | 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__() | Возвращает кортеж из 3 элементов для сериализации 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.__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, keepdims]) | Подсчитывает количество элементов массива, которые не замаскированы, вдоль заданной оси. |
© 2008–2017 NumPy Developers
Licensed under the NumPy License.
https://docs.scipy.org/doc/numpy-1.12.0/reference/maskedarray.baseclass.html