numpy.ma.notmasked_contiguous()
function find contiguous unmasked data in a masked array along the given axis.
Syntax : numpy.ma.notmasked_contiguous(arr, axis = None)
Parameters :
arr : [array_like] The input array.
axis : [int, optional] Axis along which to perform the operation. Default is None.Return : [list] A list of slices (start and end indexes) of unmasked indexes in the array. If the input is 2d and axis is specified, the result is a list of lists.
Code #1 :
# Python program explaining # numpy.ma.notmasked_contiguous() function # importing numpy as geek # and numpy.ma module as ma import numpy as geek import numpy.ma as ma arr = geek.arange( 12 ).reshape(( 3 , 4 )) mask = geek.zeros_like(arr) mask[ 1 :, : - 1 ] = 1 ; mask[ 0 , 1 ] = 1 ; mask[ - 1 , 0 ] = 0 ma = geek.ma.array(arr, mask = mask) gfg = geek.ma.notmasked_contiguous(ma) print (gfg) |
Output :
[slice(0, 1, None), slice(2, 4, None), slice(7, 9, None), slice(11, 12, None)]
Code #2 :
# Python program explaining # numpy.ma.notmasked_contiguous() function # importing numpy as geek # and numpy.ma module as ma import numpy as geek import numpy.ma as ma arr = geek.arange( 12 ).reshape(( 3 , 4 )) mask = geek.zeros_like(arr) mask[ 1 :, : - 1 ] = 1 ; mask[ 0 , 1 ] = 1 ; mask[ - 1 , 0 ] = 0 ma = geek.ma.array(arr, mask = mask) gfg = geek.ma.notmasked_contiguous(ma, axis = 1 ) print (gfg) |
Output :
[[slice(0, 1, None), slice(2, 4, None)], [slice(3, 4, None)], [slice(0, 1, None), slice(3, 4, None)]]