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)в некоторых редких случаях.Сравнение
aиbиспользует стандартное вещание, что означает, чтоaиbне обязательно должны иметь одинаковую форму для того, чтобыallclose(a, b)оценилось как True. То же самое относится кequal, но не кarray_equal.Примеры
>>> 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–2019 NumPy Developers
Licensed under the 3-clause BSD License.
https://docs.scipy.org/doc/numpy-1.17.0/reference/generated/numpy.allclose.html