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.allequal()
function return True if all entries of a and b are equal, using fill_value as a truth value where either or both are masked.
Syntax :
numpy.ma.allequal(arr1, arr2, fill_value=True)
Parameters:
arr1, arr2 : [array_like] Input arrays to compare.
fill_value : [ bool, optional] Whether masked values in arr1 or arr2 are considered equal (True) or not (False).Return : [ bool]Returns True if the two arrays are equal within the given tolerance, False otherwise. If either array contains NaN, then False is returned.
Code #1 :
# Python program explaining # numpy.MaskedArray.allequal() method # importing numpy as geek # and numpy.ma module as ma import numpy as geek import numpy.ma as ma # creating 1st input array in_arr1 = geek.array([ 1e8 , 1e - 5 , - 15.0 ]) print ( "1st Input array : " , in_arr1) # Now we are creating 1st masked array by making third entry as invalid. mask_arr1 = ma.masked_array(in_arr1, mask = [ 0 , 0 , 1 ]) print ( "1st Masked array : " , mask_arr1) # creating 2nd input array in_arr2 = geek.array([ 1e8 , 1e - 5 , 15.0 ]) print ( "2nd Input array : " , in_arr2) # Now we are creating 2nd masked array by making third entry as invalid. mask_arr2 = ma.masked_array(in_arr2, mask = [ 0 , 0 , 1 ]) print ( "2nd Masked array : " , mask_arr2) # applying MaskedArray.allequal method out_arr = ma.allequal(mask_arr1, mask_arr2, fill_value = False ) print ( "Output array : " , out_arr) |
1st Input array : [ 1.0e+08 1.0e-05 -1.5e+01] 1st Masked array : [100000000.0 1e-05 --] 2nd Input array : [1.0e+08 1.0e-05 1.5e+01] 2nd Masked array : [100000000.0 1e-05 --] Output array : False
Code #2 :
# importing numpy as geek # and numpy.ma module as ma import numpy as geek import numpy.ma as ma # creating 1st input array in_arr1 = geek.array([ 2e8 , 3e - 5 , - 45.0 ]) print ( "1st Input array : " , in_arr1) # Now we are creating 1st masked array by making third entry as invalid. mask_arr1 = ma.masked_array(in_arr1, mask = [ 0 , 0 , 1 ]) print ( "1st Masked array : " , mask_arr1) # creating 2nd input array in_arr2 = geek.array([ 2e8 , 3e - 5 , 15.0 ]) print ( "2nd Input array : " , in_arr2) # Now we are creating 2nd masked array by making third entry as invalid. mask_arr2 = ma.masked_array(in_arr2, mask = [ 0 , 0 , 1 ]) print ( "2nd Masked array : " , mask_arr2) # applying MaskedArray.allequal method out_arr = ma.allequal(mask_arr1, mask_arr2, fill_value = True ) print ( "Output array : " , out_arr) |
1st Input array : [ 2.0e+08 3.0e-05 -4.5e+01] 1st Masked array : [200000000.0 3e-05 --] 2nd Input array : [2.0e+08 3.0e-05 1.5e+01] 2nd Masked array : [200000000.0 3e-05 --] Output array : True