numpy.isclose
-
numpy.isclose(a, b, rtol=1e-05, atol=1e-08, equal_nan=False)[source] -
Возвращает булеву массив, где два массива равны по элементам в пределах допуска.
Значения допуска положительные, обычно очень маленькие числа. Относительная разница (
rtol* abs(b)) и абсолютная разницаatolскладываются, чтобы сравнить их с абсолютной разницей междуaиb.Предупреждение
По умолчанию
atolне подходит для сравнения чисел, которые намного меньше единицы (см. Примечания).- Параметры
-
-
a, barray_like -
Вводные массивы для сравнения.
-
rtolfloat -
Параметр относительной погрешности (см. Примечания).
-
atolfloat -
Параметр абсолютной погрешности (см. Примечания).
-
equal_nanbool -
Сравнивать NaN как равные. Если True, NaN в
aбудут считаться равными NaN вbв выходном массиве.
-
- Возвращает
-
-
yarray_like -
Возвращает булевый массив, где
aиbравны в пределах заданной точности. Если обаaиbявляются скалярами, возвращает одно булево значение.
-
См. также
Примечания
Новая в версии 1.7.0.
Для конечных значений isclose использует следующее уравнение для проверки того, являются ли два значения с плавающей запятой эквивалентными.
absolute(
a-b) <= (atol+rtol* absolute(b))В отличие от встроенной функции
math.isclose, вышеприведенное уравнение не симметрично относительноaиb– оно предполагает, чтоbявляется опорным значением, так чтоisclose(a, b)может отличаться отisclose(b, a). Кроме того, значение по умолчанию для atol не равно нулю и используется для определения того, какие малые значения следует считать близкими к нулю. Значение по умолчанию подходит для ожидаемых значений порядка единицы: если ожидаемые значения значительно меньше единицы, это может привести к ложноположительным результатам.atolдолжно быть тщательно выбрано для конкретного случая использования. Ноль дляatolприведет кFalse, еслиaилиbравны нулю.iscloseне определена для нечисловых типов данных.Примеры
>>> np.isclose([1e10,1e-7], [1.00001e10,1e-8]) array([ True, False]) >>> np.isclose([1e10,1e-8], [1.00001e10,1e-9]) array([ True, True]) >>> np.isclose([1e10,1e-8], [1.0001e10,1e-9]) array([False, True]) >>> np.isclose([1.0, np.nan], [1.0, np.nan]) array([ True, False]) >>> np.isclose([1.0, np.nan], [1.0, np.nan], equal_nan=True) array([ True, True]) >>> np.isclose([1e-8, 1e-7], [0.0, 0.0]) array([ True, False]) >>> np.isclose([1e-100, 1e-7], [0.0, 0.0], atol=0.0) array([False, False]) >>> np.isclose([1e-10, 1e-10], [1e-20, 0.0]) array([ True, True]) >>> np.isclose([1e-10, 1e-10], [1e-20, 0.999999e-10], atol=0.0) array([False, True])
© 2005–2021 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/1.20/reference/generated/numpy.isclose.html