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. Бесконечности (inf) считаются равными, если они находятся в одном месте и имеют одинаковый знак в обоих массивах.
Параметры: 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.14.5/reference/generated/numpy.allclose.html