# NumPy: Create an element-wise comparison (equal, equal within a tolerance) of two given arrays

## NumPy: Basic Exercise-11 with Solution

Write a NumPy program to create an element-wise comparison (equal, equal within a tolerance) of two given arrays.

This NumPy program performs element-wise comparisons between two given arrays to determine equality and near-equality within a specified tolerance. By leveraging NumPy's array operations and tolerance parameters, it provides a precise method for checking if elements in the arrays are exactly equal or approximately equal within a defined range.

**Sample Solution** :

**Python Code :**

```
# Importing the NumPy library with an alias 'np'
import numpy as np
# Creating NumPy arrays 'x' and 'y' containing numbers for comparison
x = np.array([72, 79, 85, 90, 150, -135, 120, -10, 60, 100])
y = np.array([72, 79, 85, 90, 150, -135, 120, -10, 60, 100.000001])
# Printing a message indicating the original numbers stored in arrays 'x' and 'y'
print("Original numbers:")
print(x)
print(y)
# Performing element-wise comparison (equal) between arrays 'x' and 'y', and printing the result
print("Comparison - equal:")
print(np.equal(x, y))
# Checking if arrays 'x' and 'y' are element-wise equal within a tolerance, and printing the result
print("Comparison - equal within a tolerance:")
print(np.allclose(x, y))
```

Output:

Original numbers: [ 72 79 85 90 150 -135 120 -10 60 100] [ 72. 79. 85. 90. 150. -135. 120. -10. 60. 100.000001] Comparison - equal: [ True True True True True True True True True False] Comparison - equal within a tolerance: True

**Explanation:**

At first we declare two arrays x = np.array([72, 79, 85, 90, 150, -135, 120, -10, 60, 100]): and y = np.array([72, 79, 85, 90, 150, -135, 120, -10, 60, 100.000001]).

print(np.equal(x, y)): Here, the np.equal() function compares the elements of 'x' and 'y' element-by-element and checks whether they are equal.The function returns a boolean array [True, True, True, True, True, True, True, True, True, False], which is printed to the console. The last element is False because 100 is not exactly equal to 100.000001.

print(np.allclose(x, y)): This line uses the np.allclose() function to check if the two arrays are element-wise equal within a given tolerance (default relative tolerance rtol=1e-9, absolute tolerance atol=1e-12). In this case, the difference between the last elements (100 and 100.000001) is within the default tolerance, so the function returns True.

**Python-Numpy Code Editor:**

**Previous:** NumPy program to create an element-wise comparison (greater, greater_equal, less and less_equal) of two given arrays.

**Next:** NumPy program to create an array with the values 1, 7, 13, 105 and determine the size of the memory occupied by the array.

**What is the difficulty level of this exercise?**

Test your Programming skills with w3resource's quiz.

**It will be nice if you may share this link in any developer community or anywhere else, from where other developers may find this content. Thanks.**

https://www.w3resource.com/python-exercises/numpy/basic/numpy-basic-exercise-11.php

**Weekly Trends and Language Statistics**- Weekly Trends and Language Statistics