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