Skip to main content
`Ctrl`+`K`

# numpy.testing.assert_almost_equal

testing.assert_almost_equal(actual, desired, decimal=7, err_msg='', verbose=True)

  Raises an AssertionError if two items are not equal up to desired precision.

  Note

  It is recommended to use one of `assert_allclose`, `assert_array_almost_equal_nulp` or `assert_array_max_ulp` instead of this function for more consistent floating point comparisons.

  The test verifies that the elements of actual and desired satisfy:

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

  That is a looser test than originally documented, but agrees with what the actual implementation in `assert_array_almost_equal` did up to rounding vagaries. An exception is raised at conflicting values. For ndarrays this delegates to assert_array_almost_equal

  Parameters:
    actual array_like

      The object to check.

    desired array_like

      The expected object.

    decimal int, optional

      Desired precision, default is 7.

    err_msg str, optional

      The error message to be printed in case of failure.

    verbose bool, 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

      >>> from numpy.testing import assert_almost_equal
      >>> assert_almost_equal(2.3333333333333, 2.33333334)
      >>> assert_almost_equal(2.3333333333333, 2.33333334, decimal=10)
      Traceback (most recent call last):
          ...
      AssertionError:
      Arrays are not almost equal to 10 decimals
       ACTUAL: 2.3333333333333
       DESIRED: 2.33333334

      >>> assert_almost_equal(np.array([1.0,2.3333333333333]),
      ...                     np.array([1.0,2.33333334]), decimal=9)
      Traceback (most recent call last):
          ...
      AssertionError:
      Arrays are not almost equal to 9 decimals

      Mismatched elements: 1 / 2 (50%)
      Mismatch at index:
       [1]: 2.3333333333333 (ACTUAL), 2.33333334 (DESIRED)
      Max absolute difference among violations: 6.66669964e-09
      Max relative difference among violations: 2.85715698e-09
       ACTUAL: array([1.         , 2.333333333])
       DESIRED: array([1.        , 2.33333334])