Skip to content
Related Articles

Related Articles

Improve Article
Save Article
Like Article

Numpy MaskedArray.masked_invalid() function | Python

  • 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_invalid() function is used to mask an array where invalid values occur (NaNs or infs).This function is a shortcut to masked_where, with condition = ~(numpy.isfinite(arr)).

 Attention geek! Strengthen your foundations with the Python Programming Foundation Course and learn the basics.  

To begin with, your interview preparations Enhance your Data Structures concepts with the Python DS Course. And to begin with your Machine Learning Journey, join the Machine Learning - Basic Level Course

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



Parameters:
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 resultant array after masking.

Code #1 :




# Python program explaining
# numpy.MaskedArray.masked_invalid() method 
  
# importing numpy as geek 
# and numpy.ma module as ma
import numpy as geek
import numpy.ma as ma
  
# creating input array with invalid values
in_arr = geek.array([1, 2, geek.nan, -1, geek.inf])
print ("Input array : ", in_arr)
  
# applying MaskedArray.masked_invalid  
# methods to input array 
mask_arr = ma.masked_invalid(in_arr)
print ("Masked array : ", mask_arr)
Output:
Input array :  [ 1.  2. nan -1. inf]
Masked array :  [1.0 2.0 -- -1.0 --]

 

Code #2 :




# Python program explaining
# numpy.MaskedArray.masked_invalid() method 
  
# importing numpy as geek 
# and numpy.ma module as ma
import numpy as geek
import numpy.ma as ma
  
# creating input array with invalid element
in_arr = geek.array([5e8, 3e-5, geek.nan, 4e4, 5e2])
print ("Input array : ", in_arr)
  
# applying MaskedArray.masked_invalid  
# methods to input array 
mask_arr = ma.masked_invalid(in_arr)
print ("Masked array : ", mask_arr)
Output:
Input array :  [5.e+08 3.e-05    nan 4.e+04 5.e+02]
Masked array :  [500000000.0 3e-05 -- 40000.0 500.0]



My Personal Notes arrow_drop_up
Recommended Articles
Page :

Start Your Coding Journey Now!