Open In App

Numpy MaskedArray.masked_where() function | Python

Improve
Improve
Like Article
Like
Save
Share
Report

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_where() function is used to mask an array where a condition is met.It return arr as an array masked where condition is True. Any masked values of arr or condition are also masked in the output.

Syntax : numpy.ma.masked_where(condition, arr, copy=True)

Parameters:
condition : [array_like] Masking condition. When condition tests floating point values for equality, consider using masked_values instead.
arr : [ndarray] Input array which we want to mask.
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 result of masking arr where condition is True..

Code #1 :




# Python program explaining
# numpy.MaskedArray.masked_where() method 
  
# importing numpy as geek 
# and numpy.ma module as ma
import numpy as geek
import numpy.ma as ma
  
# creating input array 
in_arr = geek.array([1, 2, 3, -1, 2])
print ("Input array : ", in_arr)
  
# applying MaskedArray.masked_where methods 
# to input array where value<= 1
mask_arr = ma.masked_where(in_arr<= 1, in_arr)
print ("Masked array : ", mask_arr)


Output:

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

 

Code #2 :




# Python program explaining
# numpy.MaskedArray.masked_where() method 
  
# importing numpy as geek 
# and numpy.ma module as ma
import numpy as geek
import numpy.ma as ma
  
# creating input array in_arr1 
in_arr1 = geek.arange(4)
print ("1st Input array : ", in_arr1)
  
# applying MaskedArray.masked_where methods 
# to input array in_arr1 where value = 1
mask_arr1 = ma.masked_where(in_arr1 == 1, in_arr1)
print ("1st Masked array : ", mask_arr1)
  
# creating input array in_arr2 
in_arr2 = geek.arange(4)
print ("2nd Input array : ", in_arr2)
  
# applying MaskedArray.masked_where methods 
# to input array in_arr2 where value = 1
mask_arr2 = ma.masked_where(in_arr2 == 3, in_arr2)
print ("2nd Masked array : ", mask_arr2)
  
# applying MaskedArray.masked_where methods 
# to 1st masked array where second masked array
# is used as condition
res_arr = ma.masked_where(mask_arr1 == 3, mask_arr2)
print("Resultant Masked array : ", res_arr)


Output:

1st Input array :  [0 1 2 3]
1st Masked array :  [0 -- 2 3]
2nd Input array :  [0 1 2 3]
2nd Masked array :  [0 1 2 --]
Resultant Masked array :  [0 -- 2 --]


Last Updated : 27 Sep, 2019
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads