numpy.allclose
-
numpy.allclose(a, b, rtol=1e-05, atol=1e-08, equal_nan=False)[source] -
Returns True if two arrays are element-wise equal within a tolerance.
The tolerance values are positive, typically very small numbers. The relative difference (
rtol* abs(b)) and the absolute differenceatolare added together to compare against the absolute difference betweenaandb.NaNs are treated as equal if they are in the same place and if
equal_nan=True. Infs are treated as equal if they are in the same place and of the same sign in both arrays.- Parameters
-
-
a, barray_like -
Input arrays to compare.
-
rtolfloat -
The relative tolerance parameter (see Notes).
-
atolfloat -
The absolute tolerance parameter (see Notes).
-
equal_nanbool -
Whether to compare NaN’s as equal. If True, NaN’s in
awill be considered equal to NaN’s inbin the output array.New in version 1.10.0.
-
- Returns
-
-
allclosebool -
Returns True if the two arrays are equal within the given tolerance; False otherwise.
-
Notes
If the following equation is element-wise True, then allclose returns True.
absolute(
a-b) <= (atol+rtol* absolute(b))The above equation is not symmetric in
aandb, so thatallclose(a, b)might be different fromallclose(b, a)in some rare cases.The comparison of
aandbuses standard broadcasting, which means thataandbneed not have the same shape in order forallclose(a, b)to evaluate to True. The same is true forequalbut notarray_equal.Examples
>>> np.allclose([1e10,1e-7], [1.00001e10,1e-8]) False >>> np.allclose([1e10,1e-8], [1.00001e10,1e-9]) True >>> np.allclose([1e10,1e-8], [1.0001e10,1e-9]) False >>> np.allclose([1.0, np.nan], [1.0, np.nan]) False >>> np.allclose([1.0, np.nan], [1.0, np.nan], equal_nan=True) True
© 2005–2020 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/1.19/reference/generated/numpy.allclose.html