numpy.ma.array
-
ma.array(data, dtype=None, copy=False, order=None, mask=False, fill_value=None, keep_mask=True, hard_mask=False, shrink=True, subok=True, ndmin=0)[source] -
Массив с возможностью маскирования значений.
Маскированные значения True исключают соответствующий элемент из любого вычисления.
Создание:
x = MaskedArray(data, mask=nomask, dtype=None, copy=False, subok=True, ndmin=0, fill_value=None, keep_mask=True, hard_mask=None, shrink=True, order=None)- Параметры
-
-
dataarray_like -
Входные данные.
-
masksequence, optional -
Маска. Должна быть преобразуема в массив булевых значений с той же формой, что и
data. Значение True указывает на маскированное (т.е. недействительное) значение данных. -
dtypedtype, optional -
Тип данных результата. Если
dtypeравно None, используется тип данных аргумента (data.dtype). Еслиdtypeне равно None и отличается отdata.dtype, выполняется копирование. -
copybool, optional -
Копировать ли входные данные (True) или использовать ссылку вместо этого. По умолчанию False.
-
subokbool, optional -
Возвращать ли подкласс
MaskedArrayпри возможности (True) или обычныйMaskedArray. По умолчанию True. -
ndminint, optional -
Минимальное количество измерений. По умолчанию 0.
-
fill_valuescalar, optional -
Значение, используемое для заполнения маскированных значений при необходимости. Если None, используется значение по умолчанию, основанное на типе данных.
-
keep_maskbool, optional -
Объединить ли
maskс маской входных данных, если таковая имеется (True), или использовать толькоmaskдля результата (False). По умолчанию True. -
hard_maskbool, optional -
Использовать жёсткую маску или нет. С жёсткой маской маскированные значения нельзя размаскировать. По умолчанию False.
-
shrinkbool, optional -
Принудительно ли сжимать пустую маску. По умолчанию True.
-
order{‘C’, ‘F’, ‘A’}, optional -
Указать порядок массива. Если order равен ‘C’, массив будет в порядке C-непрерывности (индекс последнего элемента изменяется быстрее). Если order равен ‘F’, возвращаемый массив будет в порядке Fortran-непрерывности (индекс первого элемента изменяется быстрее). Если order равен ‘A’ (по умолчанию), возвращаемый массив может быть в любом порядке (C-, Fortran-непрерывности или даже несмежный), если не требуется копия, в противном случае он будет C-непрерывным.
-
Примеры
Массив можно инициализировать массивом булевых значений с такой же формой, что и
data.>>> data = np.arange(6).reshape((2, 3)) >>> np.ma.MaskedArray(data, mask=[[False, True, False], ... [False, False, True]]) masked_array( data=[[0, --, 2], [3, 4, --]], mask=[[False, True, False], [False, False, True]], fill_value=999999)Альтернативно, массив можно инициализировать однородным булевым массивом с той же формой, что и
data, передав скалярное булевое значение:>>> np.ma.MaskedArray(data, mask=False) masked_array( data=[[0, 1, 2], [3, 4, 5]], mask=[[False, False, False], [False, False, False]], fill_value=999999)>>> np.ma.MaskedArray(data, mask=True) masked_array( data=[[--, --, --], [--, --, --]], mask=[[ True, True, True], [ True, True, True]], fill_value=999999, dtype=int64)Примечание
Рекомендуется инициализировать
maskскалярным булевым значением с использованиемTrue/Falseвместоnp.True_/np.False_. Причина в том, чтоnomaskпредставляется внутри какnp.False_.>>> np.False_ is np.ma.nomask True
© 2005–2021 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/1.20/reference/generated/numpy.ma.array.html