栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

numpy.isclose与numpy.allclose的区别与联系

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

numpy.isclose与numpy.allclose的区别与联系

1. numpy.isclose

numpy的isclose方法,比较两个array是不是每一元素都相等,默认在1e-05的误差范围内。

numpy.isclose(a, b, rtol=1.e-5, atol=1.e-8, equal_nan=False)
参数:
a, b : 对比的数组
rtol : 相对公差参数
atol : 绝对公差参数
equal_nan : bool,默认False,即NaN值默认不等,如果为True,a与b相同位置的NaN元素将判断相等

判断公式:
absolute(a - b) <= (atol + rtol * absolute(b))

2. numpy.allclose

参数与numpy.isclose相同,判断公式也一样,区别在于numpy.isclose输出a,b两个数组每个位置判断的bool值,而numpy.allclose输出的是a,b两个数组整体的判断结果。

a=[[1,2],[3,4]]
b=[[1,3],[3,3]]

np.isclose(a,b)
Out: 
array([[ True, False],
       [ True, False]])
       
np.allclose(a,b)
Out: False

numpy.allclose源码:在nump.isclose基础上,使用all做进一步处理

@array_function_dispatch(_allclose_dispatcher)
def allclose(a, b, rtol=1.e-5, atol=1.e-8, equal_nan=False):
    res = all(isclose(a, b, rtol=rtol, atol=atol, equal_nan=equal_nan))
    return bool(res)
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/664962.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号