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 -
Указывает, сравнивать ли NaNs как равные. Если True, NaNs в
aбудут считаться равными NaNs в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.18/reference/generated/numpy.allclose.html