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


Python dask.array.isclose用法及代码示例


用法:

dask.array.isclose(arr1, arr2, rtol=1e-05, atol=1e-08, equal_nan=False)

返回一个布尔数组,其中两个数组在容差内按元素相等。

此文档字符串是从 numpy.isclose 复制的。

可能存在与 Dask 版本的一些不一致之处。

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

警告

默认 atol 不适用于比较远小于 1 的数字(请参阅注释)。

参数

a, barray_like

要比较的输入数组。

rtol浮点数

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

atol浮点数

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

equal_nanbool

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

返回

yarray_like

返回一个布尔数组,其中 ab 在给定容差范围内相等。如果 ab 都是标量,则返回单个布尔值。

注意

对于有限值,isclose 使用以下等式来测试两个浮点值是否相等。

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

与内置的 math.isclose 不同,上述等式在 ab 中不是对称的 - 它假设 b 是参考值 - 因此 isclose(a, b) 可能与 isclose(b, a) 不同。此外,atol 的默认值不为零,用于确定哪些小值应视为接近零。默认值适用于顺序统一的预期值:如果预期值明显小于 1,则可能导致误报。 atol 应该为手头的用例仔细选择。如果 ab 为零,则 atol 的零值将导致 False

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

例子

>>> np.isclose([1e10,1e-7], [1.00001e10,1e-8])  
array([ True, False])
>>> np.isclose([1e10,1e-8], [1.00001e10,1e-9])  
array([ True, True])
>>> np.isclose([1e10,1e-8], [1.0001e10,1e-9])  
array([False,  True])
>>> np.isclose([1.0, np.nan], [1.0, np.nan])  
array([ True, False])
>>> np.isclose([1.0, np.nan], [1.0, np.nan], equal_nan=True)  
array([ True, True])
>>> np.isclose([1e-8, 1e-7], [0.0, 0.0])  
array([ True, False])
>>> np.isclose([1e-100, 1e-7], [0.0, 0.0], atol=0.0)  
array([False, False])
>>> np.isclose([1e-10, 1e-10], [1e-20, 0.0])  
array([ True,  True])
>>> np.isclose([1e-10, 1e-10], [1e-20, 0.999999e-10], atol=0.0)  
array([False,  True])

相关用法


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