📅  最后修改于: 2023-12-03 15:03:19.434000             🧑  作者: Mango
numpy.ma.allclose(a, b, rtol=1e-05, atol=1e-08, equal_nan=False)[source]
此函数返回两个输入数组在给定的容差范围内是否相等。此函数与numpy.allclose()
的主要区别在于,它也适用于包含缺少值(NaN)的数组。
参数:
a : array_like 第一个输入数组。
b : array_like 第二个输入数组。
rtol : float, optional 相对误差承受度(参考链接:https://en.wikipedia.org/wiki/Relative_change_and_difference), 默认为1e-05。
atol : float, optional 绝对误差承受度, 默认为1e-08。
equal_nan : bool, optional 如果为True,则认为NaN相等。默认为False。
返回值:
是标量布尔值。如果提供的数组在容差内相等,则为True,否则为False。
示例代码:
import numpy.ma as ma
a = ma.masked_array([1,2,3,ma.masked,4])
b = ma.masked_array([1,2,3,ma.masked,4])
c = ma.masked_array([1,2,3,ma.masked,5])
print(ma.allclose(a,b)) # True
print(ma.allclose(a,c)) # False
以上代码使用 numpy.ma.allclose()
函数来检查两个数组是否相等,并输出结果。
注意:
numpy.ma.allclose()
使用的容差值可在调用此函数时通过rtol
和atol
参数配置。
在使用此函数进行比较时,请确保两个数组的类型相同。否则,可能会出现不正确的结果。
当在比较包含NaN值的数组时,numpy.allclose()
函数会返回False,但numpy.ma.allclose()
函数可以比较它们并返回正确结果。
如果输入数组是标量,则numpy.ma.allclose()
函数将返回True或False,具体取决于是否相等。