当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python numpy allclose用法及代码示例


本文简要介绍 python 语言中 numpy.allclose 的用法。

用法:

numpy.allclose(a, b, rtol=1e-05, atol=1e-08, equal_nan=False)

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

公差值是正的,通常是非常小的数字。将相对差 (rtol * abs(b)) 和绝对差 atol 相加以与 a 和 b 之间的绝对差进行比较。

NaNs 如果它们在同一个地方并且如果 equal_nan=True 被视为相等。如果 Inf 在两个数组中位于相同的位置并且具有相同的符号,则它们被视为相等。

参数

a, b array_like

要比较的输入数组。

rtol 浮点数

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

atol 浮点数

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

equal_nan bool

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

返回

allclose bool

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

注意

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

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

上式不对称ab, 以便allclose(a, b)可能不同于allclose(b, a)在一些罕见的情况下。

的比较ab使用标准广播,这意味着ab不需要具有相同的形状,以便allclose(a, b)评估为真。对于numpy.equal但不是numpy.array_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

相关用法


注:本文由纯净天空筛选整理自numpy.org大神的英文原创作品 numpy.allclose。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。