numpy.testing.assert_array_almost_equal

numpy.testing.assert_array_almost_equal(x, y, decimal=6, err_msg='', verbose=True)

Raise an assertion if two objects are not equal up to desired precision.

The test verifies identical shapes and verifies values with abs(desired-actual) < 0.5 * 10**(-decimal)

Given two array_like objects, check that the shape is equal and all elements of these objects are almost equal. 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:

x : array_like

The actual object to check.

y : array_like

The desired, expected object.

decimal : integer (decimal=6)

desired precision

err_msg : string

The error message to be printed in case of failure.

verbose : bool

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_almost_equal
simple version for comparing numbers
assert_array_equal
tests objects for equality

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)
...
<type 'exceptions.AssertionError'>:
AssertionError:
Arrays are not almost equal
<BLANKLINE>
(mismatch 50.0%)
 x: array([ 1.     ,  2.33333,      NaN])
 y: array([ 1.     ,  2.33339,      NaN])
>>> np.testing.assert_array_almost_equal([1.0,2.33333,np.nan],
                    [1.0,2.33333, 5], decimal=5)
<type 'exceptions.ValueError'>:
ValueError:
Arrays are not almost equal
 x: array([ 1.     ,  2.33333,      NaN])
 y: array([ 1.     ,  2.33333,  5.     ])

Previous topic

numpy.testing.assert_approx_equal

Next topic

numpy.testing.assert_array_equal

This Page