Numpy MaskedArray.masked_inside() function | Python (original) (raw)

Last Updated : 27 Sep, 2019

In many circumstances, datasets can be incomplete or tainted by the presence of invalid data. For example, a sensor may have failed to record a data, or recorded an invalid value. The numpy.ma module provides a convenient way to address this issue, by introducing masked arrays.Masked arrays are arrays that may have missing or invalid entries.

numpy.MaskedArray.masked_inside() function is used to mask an array inside a given interval.This function is a Shortcut to masked_where, where condition is True for arr inside the interval [v1, v2] (v1 <= arr <= v2). The boundaries v1 and v2 can be given in either order.

Syntax : numpy.ma.masked_inside(arr, v1, v2, copy=True)

Parameters:
arr : [ndarray] Input array which we want to mask.
v1, v2 : [int] Lower and upper range.
copy : [bool] If True (default) make a copy of arr in the result. If False modify arr in place and return a view.

Return : [ MaskedArray] The resultant array after masking.

Code #1 :

import numpy as geek

import numpy.ma as ma

in_arr = geek.array([ 1 , 2 , 3 , - 1 , 2 ])

print ( "Input array : " , in_arr)

mask_arr = ma.masked_inside(in_arr, - 1 , 1 )

print ( "Masked array : " , mask_arr)

Output:

Input array : [ 1 2 3 -1 2] Masked array : [-- 2 3 -- 2]

Code #2 :

import numpy as geek

import numpy.ma as ma

in_arr = geek.array([ 5e8 , 3e - 5 , - 45.0 , 4e4 , 5e2 ])

print ( "Input array : " , in_arr)

mask_arr = ma.masked_inside(in_arr, 5e2 , 5e8 )

print ( "Masked array : " , mask_arr)

Output:

Input array : [ 5.0e+08 3.0e-05 -4.5e+01 4.0e+04 5.0e+02] Masked array : [-- 3e-05 -45.0 -- --]