numpy.ma.array
-
numpy.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 -
Укажите порядок массива. Если порядок ‘C’, массив будет в порядке C-contiguous (последний индекс изменяется быстрее). Если порядок ‘F’, возвращаемый массив будет в порядке Fortran-contiguous (первый индекс изменяется быстрее). Если порядок ‘A’ (по умолчанию), возвращаемый массив может быть в любом порядке (C-, Fortran-contiguous или даже несмежный), если не требуется копия, в противном случае он будет C-contiguous.
-
Примеры
Массив можно инициализировать массивом булевых значений с той же формой, что и
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–2020 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/1.19/reference/generated/numpy.ma.array.html