numpy.ma.notmasked_contiguous#

ma.notmasked_contiguous(a,axis=None)[source]#

Find contiguous unmasked data in a masked array along the given axis.

Parameters:
aarray_like

The input array.

axisint, optional

Axis along which to perform the operation.If None (default), applies to a flattened version of the array, and thisis the same asflatnotmasked_contiguous.

Returns:
endpointslist

A list of slices (start and end indexes) of unmasked indexesin the array.

If the input is 2d and axis is specified, the result is a list of lists.

Notes

Only accepts 2-D arrays at most.

Examples

>>>importnumpyasnp>>>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)>>>mamasked_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)]]