You can use the following methods to compare the values of two NumPy arrays:

**Method 1: Test if Two NumPy Arrays are Element-wise Equal**

#test if array A and array B are element-wise equal np.array_equal(A,B)

**Method 2: Test if Two NumPy Arrays are Element-wise Equal (Within a tolerance)**

#test if array A and array B are element-wise equal (within absolute tolerance of 2) np.allclose(A, B, atol=2)

The following examples show how to use each method in practice.

**Example 1: Test if Two NumPy Arrays are Element-wise Equal**

The following code shows how to use the **array_equal()** function to test if two NumPy arrays are element-wise equal:

import numpy as np #create two NumPy arrays A = np.array([1, 4, 5, 7, 10]) B = np.array([1, 4, 5, 7, 10]) #test if arrays are element-wise equal np.array_equal(A,B) True

The function returns **True** since the two NumPy arrays have the same length with the same values in the same positions.

However, the function will return **False** if the two NumPy arrays have the same values but in different positions:

import numpy as np #create two NumPy arrays with same values but in different positions A = np.array([1, 4, 5, 7, 10]) B = np.array([1, 4, 7, 5, 10]) #test if arrays are element-wise equal np.array_equal(A,B) False

**Example 2: Test if Two NumPy Arrays are Element-wise Equal (Within Tolerance)**

The following code shows how to use the **allclose()** function to test if two NumPy arrays are element-wise equal within a tolerance value of **2**:

import numpy as np #create two NumPy arrays A = np.array([1, 4, 5, 7, 10]) B = np.array([1, 4, 7, 8, 10]) #test if arrays are element-wise equal (within absolute tolerance of 2) np.allclose(A, B, atol=2) True

The function returns **True** since the corresponding elements between each NumPy array are all within 2 of each other.

For example, we see that elements in the third and fourth positions of each array are different, but since each pair is within 2 values of each other, the function returns true.

However, if we change the absolute tolerance (atol) argument to **1**, then the function will return **False**:

import numpy as np #create two NumPy arrays A = np.array([1, 4, 5, 7, 10]) B = np.array([1, 4, 7, 8, 10]) #test if arrays are element-wise equal (within absolute tolerance of 1) np.allclose(A, B, atol=1) False

The function returns **False **since the corresponding elements in the third position of each NumPy array are not within 1 of each other.

**Note**: Refer to the NumPy documentation to find a complete explanation of the array_equal and allclose functions.

**Additional Resources**

The following tutorials explain how to perform other common tasks in NumPy:

How to Shift Elements in NumPy Array

How to Count Occurrences of Elements in NumPy

How to Calculate the Mode of NumPy Array