numpy.ma.notmasked_contiguous#
- ma.notmasked_contiguous(a, ось=None)[источник]#
Найти непрерывные немасскированные данные в маскированном массиве вдоль заданной оси.
- Параметры:
- aarray_like
Входной массив.
- осьint, необязательный
Ось, вдоль которой выполняется операция. Если None (по умолчанию), применяется к сглаженной версии массива, и это то же самое, что
flatnotmasked_contiguous.
- Возвращает:
- конечные точкиlist
Список срезов (начальные и конечные индексы) немаскированных индексов в массиве.
Если входные данные двумерные и указана ось, результат представляет собой список списков.
Смотрите также
Примечания
Принимает только массивы размерностью не более 2-D.
Примеры
>>> import numpy as np >>> a = np.arange(12).reshape((3, 4)) >>> mask = np.zeros_like(a) >>> mask[1:, :-1] = 1; mask[0, 1] = 1; mask[-1, 0] = 0 >>> ma = np.ma.array(a, mask=mask) >>> ma masked_array( data=[[0, --, 2, 3], [--, --, --, 7], [8, --, --, 11]], mask=[[False, True, False, False], [ True, True, True, False], [False, True, True, False]], fill_value=999999) >>> np.array(ma[~ma.mask]) array([ 0, 2, 3, 7, 8, 11])
>>> np.ma.notmasked_contiguous(ma) [slice(0, 1, None), slice(2, 4, None), slice(7, 9, None), slice(11, 12, None)]
>>> np.ma.notmasked_contiguous(ma, axis=0) [[slice(0, 1, None), slice(2, 3, None)], [], [slice(0, 1, None)], [slice(0, 3, None)]]
>>> np.ma.notmasked_contiguous(ma, axis=1) [[slice(0, 1, None), slice(2, 4, None)], [slice(3, 4, None)], [slice(0, 1, None), slice(3, 4, None)]]