numpy.testing.assert_almost_equal

原文:https://docs.scipy.org/doc/numpy/reference/generated/numpy.testing.assert_almost_equal.html

译者:飞龙 UsyiyiCN

校对:(虚位以待)

numpy.testing.assert_almost_equal(actual, desired, decimal=7, err_msg='', verbose=True)[source]

如果两个项目不等于所需精度,则引发AssertionError。

注意

建议使用assert_allcloseassert_array_almost_equal_nulpassert_array_max_ulp之一来代替此函数,以获得更一致的浮点比较。

该测试等效于abs(期望 - 实际) 0.5 * 10 **( - 十进制)

给定两个对象(数字或ndarrays),检查这些对象的所有元素几乎相等。在冲突的价值观中引发异常。对于ndarrays这个委托assert_array_almost_equal

参数:

actual:array_like

要检查的对象。

所需:array_like

预期对象。

十进制:int,可选

所需精度,默认为7。

err_msg:str,可选

出现故障时打印的错误消息。

verbose:bool,可选

如果为True,则冲突的值将附加到错误消息。

上升:

AssertionError

如果实际和期望的不等于指定的精度。

也可以看看

assert_allclose
将两个array_like对象与所需的相对和/或绝对精度进行比较。

assert_array_almost_equal_nulpassert_array_max_ulpassert_equal

例子

>>> import numpy.testing as npt
>>> npt.assert_almost_equal(2.3333333333333, 2.33333334)
>>> npt.assert_almost_equal(2.3333333333333, 2.33333334, decimal=10)
...
<type 'exceptions.AssertionError'>:
Items are not equal:
 ACTUAL: 2.3333333333333002
 DESIRED: 2.3333333399999998
>>> npt.assert_almost_equal(np.array([1.0,2.3333333333333]),
...                         np.array([1.0,2.33333334]), decimal=9)
...
<type 'exceptions.AssertionError'>:
Arrays are not almost equal

(mismatch 50.0%)
 x: array([ 1.        ,  2.33333333])
 y: array([ 1.        ,  2.33333334])