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.15.4/reference/generated/numpy.allclose.html