numpy.allclose
- numpy.allclose(a, b, rtol=1e-05, atol=1e-08, equal_nan=False)[source]
-
Возвращает True, если два массива поэлементно равны в пределах заданной погрешности.
Значения погрешности положительны, обычно очень малы. Относительная разность (
rtol* abs(b)) и абсолютная разностьatolскладываются для сравнения с абсолютной разностью междуaиb.NaNs обрабатываются как равные, если они находятся на одном месте и если
equal_nan=True. Infs обрабатываются как равные, если они находятся на одном месте и имеют одинаковый знак в обоих массивах.- Параметры
-
- a, barray_like
-
Входные массивы для сравнения.
- rtolfloat
-
Параметр относительной погрешности (см. Примечания).
- atolfloat
-
Параметр абсолютной погрешности (см. Примечания).
- equal_nanbool
-
Указывает, следует ли сравнивать NaN как равные. Если True, NaN в
aбудут считаться равными NaN вbв выходном массиве.Введено в версии 1.10.0.
- Возвращает
-
- allclosebool
-
Возвращает 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.allcloseне определено для нечисловых типов данных.Примеры
>>> 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–2022 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/1.21/reference/generated/numpy.allclose.html