📜  Python| numpy.assert_allclose() 方法(1)

📅  最后修改于: 2023-12-03 15:34:15.696000             🧑  作者: Mango

Python | numpy.assert_allclose() 方法

简介

numpy.assert_allclose() 方法用于比较两个数组或标量是否在指定的误差范围内相等。

语法
numpy.assert_allclose(actual, desired, rtol=1e-07, atol=0, equal_nan=True, err_msg='', verbose=True)
参数说明
  • actual:进行比较的实际数组或标量。
  • desired:期望的值,也可以是数组或标量。
  • rtol:相对误差限制,等于最大允许的 (actual - desired) / desired。默认为1e-7。
  • atol:绝对误差限制,等于最大允许的 actual - desired。默认为0。
  • equal_nan:如果为True,则具有NaN的元素将被视为相等的。默认为True。
  • err_msg:如果给出,出现错误时将打印给定消息。
  • verbose:如果为True,则在出现错误时输出更多信息。
返回值

如果输入数组在指定的误差范围内相等,则什么都不会做。否则,会引发一个AssertionError错误。

示例
import numpy as np

# 正确情况
np.testing.assert_allclose([1, 2], [1, 2], rtol=1e-7, atol=0)

# 错误情况
np.testing.assert_allclose([1, 2], [1, 3], rtol=1e-7, atol=0)

以上示例代码中,在第一个assert_allclose()方法中,两个数组相等,因此不会引发AssertionError错误。而在第二个assert_allclose()方法中,两个数组不相等,超出了指定的误差范围,因此将抛出AssertionError错误。

注意事项
  • assert_allclose() 方法可以处理数组的广播,即两个数组在形状上不完全相等,但可以在广播之后进行比较。

参考资料:https://numpy.org/doc/stable/reference/generated/numpy.testing.assert_allclose.html