numpy.isclose

#### Next topic

numpy.array_equiv

# numpy.array_equal¶

`numpy.``array_equal`(a1, a2, equal_nan=False)[source]

True if two arrays have the same shape and elements, False otherwise.

Parameters
a1, a2array_like

Input arrays.

equal_nanbool

Whether to compare NaN’s as equal. If the dtype of a1 and a2 is complex, values will be considered equal if either the real or the imaginary component of a given value is `nan`.

New in version 1.19.0.

Returns
bbool

Returns True if the arrays are equal.

`allclose`

Returns True if two arrays are element-wise equal within a tolerance.

`array_equiv`

Returns True if input arrays are shape consistent and all elements equal.

Examples

```>>> np.array_equal([1, 2], [1, 2])
True
>>> np.array_equal(np.array([1, 2]), np.array([1, 2]))
True
>>> np.array_equal([1, 2], [1, 2, 3])
False
>>> np.array_equal([1, 2], [1, 4])
False
>>> a = np.array([1, np.nan])
>>> np.array_equal(a, a)
False
>>> np.array_equal(a, a, equal_nan=True)
True
```

When `equal_nan` is True, complex values with nan components are considered equal if either the real or the imaginary components are nan.

```>>> a = np.array([1 + 1j])
>>> b = a.copy()
>>> a.real = np.nan
>>> b.imag = np.nan
>>> np.array_equal(a, b, equal_nan=True)
True
```