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