numpy 1.22.4 Pypi GitHub Homepage
Other Docs
NotesParametersRaisesBackRef
assert_array_equal(x, y, err_msg='', verbose=True)

Given two array_like objects, check that the shape is equal and all elements of these objects are equal (but see the Notes for the special handling of a scalar). 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.

The usual caution for verifying equality with floating point numbers is advised.

Notes

When one of x and y is a scalar and the other is array_like, the function checks that each element of the array_like object is equal to the scalar.

Parameters

x : array_like

The actual object to check.

y : array_like

The desired, expected object.

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 objects are not equal.

Raises an AssertionError if two array_like objects are not equal.

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:

This example is valid syntax, but we were not able to check execution
>>> np.testing.assert_array_equal([1.0,2.33333,np.nan],
...  [np.exp(0),2.33333, np.nan])

Assert fails with numerical imprecision with floats:

This example is valid syntax, but we were not able to check execution
>>> np.testing.assert_array_equal([1.0,np.pi,np.nan],
...  [1, np.sqrt(np.pi)**2, np.nan]) Traceback (most recent call last): ... AssertionError: Arrays are not equal <BLANKLINE> Mismatched elements: 1 / 3 (33.3%) Max absolute difference: 4.4408921e-16 Max relative difference: 1.41357986e-16 x: array([1. , 3.141593, nan]) y: array([1. , 3.141593, nan])

Use assert_allclose or one of the nulp (number of floating point values) functions for these cases instead:

This example is valid syntax, but we were not able to check execution
>>> np.testing.assert_allclose([1.0,np.pi,np.nan],
...  [1, np.sqrt(np.pi)**2, np.nan],
...  rtol=1e-10, atol=0)

As mentioned in the Notes section, assert_array_equal has special handling for scalars. Here the test checks that each value in x is 3:

This example is valid syntax, but we were not able to check execution
>>> x = np.full((2, 5), fill_value=3)
... np.testing.assert_array_equal(x, 3)
See :

Back References

The following pages refer to to this document either explicitly or contain code examples using this.

numpy.testing._private.utils.assert_array_less numpy.testing._private.utils.assert_array_equal

Local connectivity graph

Hover to see nodes names; edges to Self not shown, Caped at 50 nodes.

Using a canvas is more power efficient and can get hundred of nodes ; but does not allow hyperlinks; , arrows or text (beyond on hover)

SVG is more flexible but power hungry; and does not scale well to 50 + nodes.

All aboves nodes referred to, (or are referred from) current nodes; Edges from Self to other have been omitted (or all nodes would be connected to the central node "self" which is not useful). Nodes are colored by the library they belong to, and scaled with the number of references pointing them


GitHub : /numpy/testing/_private/utils.py#855
type: <class 'function'>
Commit: