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)
  • 11
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值