numpy.allclose

numpy.allclose(a, b, rtol=1e-05, atol=1e-08, equal_nan=False)[源代码]

如果两个数组在一个公差内按元素方向相等,则返回true。

公差值为正数,通常非常小。相对差异 (rtol *ABS (b ))和绝对差异 atol 加在一起比较 ab .

如果在同一个地方,如果 equal_nan=True . 如果inf在两个数组中位于同一位置且符号相同,则将它们视为相等。

参数
a, barray_like

要比较的输入数组。

rtol浮动

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

atol浮动

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

equal_nan布尔

是否将Nan的值比较为相等。如果是真的,南在 a 将被视为等于 b 在输出数组中。

1.10.0 新版功能.

返回
allclose布尔

如果两个数组在给定的公差内相等,则返回“真”;否则返回“假”。

参见

isclose, all, any, equal

笔记

如果下面的公式是元素方向的真,则allclose返回真。

绝对的 (a - b < < (atol + rtol *绝对 (b

上述方程在 ab ,这样 allclose(a, b) 可能不同于 allclose(b, a) 在一些罕见的情况下。

比较 ab 使用标准广播,这意味着 ab 为了 allclose(a, b) 评价为真。同样的道理也适用于 equal 但不是 array_equal .

allclose 未为非数字数据类型定义。

实例

>>> 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