numpy.allclose #

麻木的。allclose ( a , b , rtol = 1e-05 , atol = 1e-08 , equal_nan = False ) [来源] #

如果两个数组在容差范围内元素相等,则返回 True。

容差值为正,通常非常小。将相对差值 ( rtol * abs( b )) 和绝对差值 atol相加,以与ab之间的绝对差值进行比较。

如果 NaN 位于同一位置并且 if ,则将它们视为相等 equal_nan=True。如果 Infs 在两个数组中位于相同位置且符号相同,则它们被视为相等。

参数
a, b类似数组

输入要比较的数组。

实时浮动

相对容差参数(见注释)。

阿托浮标

绝对公差参数(见注释)。

equal_nan布尔值

是否将 NaN 比较为相等。如果为 True,则输出数组中a中的 NaN将被视为等于b中的 NaN。

1.10.0 版本中的新增内容。

返回
全关闭布尔值

如果两个数组在给定容差范围内相等,则返回 True;否则为假。

也可以看看

isclose, all, any,equal

笔记

如果以下等式按元素为 True,则 allclose 返回 True。

绝对( a - b ) <= ( atol + rtol * 绝对( b ))

上面的方程在ab中不对称,因此 在某些罕见情况下可能会有所不同。allclose(a, b)allclose(b, a)

ab的比较使用标准广播,这意味着ab不需要具有相同的形状才能 评估为 True。对于but not也是如此 。allclose(a, b)equalarray_equal

allclose没有为非数字数据类型定义。 为此目的, bool被视为数字数据类型。

例子

>>> np.allclose([1e10,1e-7], [1.00001e10,1e-8])
False
>>> np.allclose([1e10,1e-8], [1.00001e10,1e-9])
True
>>> np.allclose([1e10,1e-8], [1.0001e10,1e-9])
False
>>> np.allclose([1.0, np.nan], [1.0, np.nan])
False
>>> np.allclose([1.0, np.nan], [1.0, np.nan], equal_nan=True)
True