w3resource
NumPy Exercises

NumPy: Test if two arrays are element-wise equal within a tolerance

NumPy: Basic Exercise-9 with Solution

Write a NumPy program to test if two arrays are element-wise equal within a tolerance.

Note: The tolerance values are positive, typically very small numbers. The relative difference (rtol * abs(b)) and the absolute difference atol are added together to compare against the absolute difference between a and b.

Sample Solution :

Python Code :

import numpy as np
print("Test if two arrays are element-wise equal within a tolerance:")
print(np.allclose([1e10,1e-7], [1.00001e10,1e-8]))
print(np.allclose([1e10,1e-8], [1.00001e10,1e-9]))
print(np.allclose([1e10,1e-8], [1.0001e10,1e-9]))
print(np.allclose([1.0, np.nan], [1.0, np.nan]))
print(np.allclose([1.0, np.nan], [1.0, np.nan], equal_nan=True))

Sample Output:

Test if two arrays are element-wise equal within a tolerance:
False
True
False
False
True                         

Python Code Editor:


Have another way to solve this solution? Contribute your code (and comments) through Disqus.

Previous: Write a NumPy program to test element-wise for complex number, real number of a given array. Also test if a given number is a scalar type or not.
Next: Write a NumPy program to create an element-wise comparison (greater, greater_equal, less and less_equal) of two given arrays.

What is the difficulty level of this exercise?