testing.assert_array_almost_equal(actual, desired, decimal=6, err_msg='', verbose=True)
Raises an AssertionError if two objects are not equal up to desired precision.
The test verifies identical shapes and that the elements of actual and desired satisfy:
abs(desired-actual)<1.5*10**(-decimal)That is a looser test than originally documented, but agrees with what the actual implementation did up to rounding vagaries. An exception is raised at shape mismatch or conflicting values. In contrast to the standard usage in numpy, NaNs are compared like numbers, no assertion is raised if both objects have NaNs in the same positions.
Parameters:actualarray_likeThe actual object to check.
desiredarray_likeThe desired, expected object.
decimalint, optionalDesired precision, default is 6.
err_msgstr, optionalThe error message to be printed in case of failure.
verbosebool, optionalIf True, the conflicting values are appended to the error message.
Raises:AssertionErrorIf actual and desired are not equal up to specified precision.
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%)Mismatch at index: [1]: 2.33333 (ACTUAL), 2.33339 (DESIRED)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. ])