在许多情况下,数据集可能不完整或被无效数据污染。例如,传感器可能无法记录数据或记录了无效值。的numpy.ma
模块通过引入掩码数组提供了解决此问题的便捷方法。掩码数组是可能缺少条目或无效条目的数组。
如果a和b的所有条目都相等,则numpy.MaskedArray.allequal()函数将true填充为真值(其中一个或两个都被屏蔽)时返回True。
用法: numpy.ma.allequal(arr1, arr2, fill_value=True)
参数:
arr1,arr2:[数组]要比较的输入数组。
fill_value :[bool,可选]是否将arr1或arr2中的掩码值视为相等(真)或不相等(假)。
Return :[bool]如果两个数组在给定的公差范围内相等,则返回True,否则返回False。如果任一数组包含NaN,则返回False。
代码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
代码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
相关用法
- Python numpy.cov()用法及代码示例
- Python numpy.copyto()用法及代码示例
- Python Numpy MaskedArray.any()用法及代码示例
- Python Numpy MaskedArray.var()用法及代码示例
- Python Numpy MaskedArray.sum()用法及代码示例
- Python numpy.issubsctype()用法及代码示例
- Python Numpy MaskedArray.std()用法及代码示例
- Python Numpy MaskedArray.mean()用法及代码示例
- Python Numpy recarray.put()用法及代码示例
- Python Numpy recarray.ptp()用法及代码示例
- Python Numpy MaskedArray.all()用法及代码示例
- Python Numpy MaskedArray.dot()用法及代码示例
- Python Numpy recarray.all()用法及代码示例
注:本文由纯净天空筛选整理自jana_sayantan大神的英文原创作品 Numpy MaskedArray.allequal() function | Python。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。