numpy.allclose
-
numpy.allclose(a, b, rtol=1e-05, atol=1e-08, equal_nan=False)[source] -
Возвращает True, если два массива попарно равны с заданной точностью.
Значения толерантности положительны, обычно очень малы. Относительная разница (
rtol* abs(b)) и абсолютная разницаatolсуммируются для сравнения с абсолютной разницей междуaиb.Если один из массивов содержит одно или несколько NaN, возвращается False. Бесконечности считаются равными, если они находятся в одном и том же месте и имеют одинаковый знак в обоих массивах.
Параметры: a, b : array_like
Входные массивы для сравнения.
rtol : float
Параметр относительной толерантности (см. Примечания).
atol : float
Параметр абсолютной толерантности (см. Примечания).
equal_nan : bool
Сравнивать ли NaN как равные. Если True, NaN в
aбудут считаться равными NaN вbв выходном массиве.Добавлена в версии 1.10.0.
Возвращаемое значение: allclose : bool
Возвращает True, если два массива равны с заданной точностью; False в противном случае.
Примечания
Если следующее уравнение выполняется поэлементно, то allclose возвращает True.
absolute(a-b) <= (atol+rtol* absolute(b))Вышеприведенное уравнение несимметрично относительно
aиb, поэтомуallclose(a, b)может отличаться отallclose(b, a)в некоторых редких случаях.Примеры
>>> 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
© 2008–2016 NumPy Developers
Licensed under the NumPy License.
https://docs.scipy.org/doc/numpy-1.11.0/reference/generated/numpy.allclose.html