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://w3resource.com/python-exercises/numpy/basic/numpy-basic-exercise-11.php
- Weekly Trends and Language Statistics
- Weekly Trends and Language Statistics