numpy.ma.notmasked_contiguous function | Python (original) (raw)

Last Updated : 22 Apr, 2020

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 :

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 :

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

Similar Reads