numpy.testing.assert_array_almost_equal#

testing.assert_array_almost_equal(actual,desired,decimal=6,err_msg='',verbose=True)[source]#

Raises an AssertionError if two objects are not equal up to desiredprecision.

Note

It is recommended to use one ofassert_allclose,assert_array_almost_equal_nulp orassert_array_max_ulpinstead of this function for more consistent floating pointcomparisons.

The test verifies identical shapes and that the elements ofactual anddesired satisfy:

abs(desired-actual)<1.5*10**(-decimal)

That is a looser test than originally documented, but agrees with what theactual implementation did up to rounding vagaries. An exception is raisedat shape mismatch or conflicting values. In contrast to the standard usagein numpy, NaNs are compared like numbers, no assertion is raised if bothobjects have NaNs in the same positions.

Parameters:
actualarray_like

The actual object to check.

desiredarray_like

The desired, expected object.

decimalint, optional

Desired precision, default is 6.

err_msgstr, optional

The error message to be printed in case of failure.

verbosebool, optional

If True, the conflicting values are appended to the error message.

Raises:
AssertionError

If actual and desired are not equal up to specified precision.

See also

assert_allclose

Compare two array_like objects for equality with desired relative and/or absolute precision.

assert_array_almost_equal_nulp,assert_array_max_ulp,assert_equal

Examples

the first assert does not raise an exception

>>>np.testing.assert_array_almost_equal([1.0,2.333,np.nan],...[1.0,2.333,np.nan])
>>>np.testing.assert_array_almost_equal([1.0,2.33333,np.nan],...[1.0,2.33339,np.nan],decimal=5)Traceback (most recent call last):...AssertionError:Arrays are not almost equal to 5 decimalsMismatched elements: 1 / 3 (33.3%)Max absolute difference among violations: 6.e-05Max relative difference among violations: 2.57136612e-05 ACTUAL: array([1.     , 2.33333,     nan]) DESIRED: array([1.     , 2.33339,     nan])
>>>np.testing.assert_array_almost_equal([1.0,2.33333,np.nan],...[1.0,2.33333,5],decimal=5)Traceback (most recent call last):...AssertionError:Arrays are not almost equal to 5 decimalsnan location mismatch: ACTUAL: array([1.     , 2.33333,     nan]) DESIRED: array([1.     , 2.33333, 5.     ])