numpy.ma.allclose
-
numpy.ma.allclose(a, b, masked_equal=True, rtol=1e-05, atol=1e-08)[source] -
Возвращает True, если два массива поэлементно равны в пределах заданной погрешности.
Эта функция эквивалентна
allclose, за исключением того, что значения с маской обрабатываются как равные (по умолчанию) или не равные, в зависимости от аргументаmasked_equal.Параметры: -
a, b : array_like -
Входные массивы для сравнения.
-
masked_equal : bool, optional -
Определяет, считаются ли значения с маской в массивах
aиbравными (True) или нет (False). По умолчанию они считаются равными. -
rtol : float, optional -
Относительная погрешность. Относительное различие равно
rtol * b. По умолчанию 1e-5. -
atol : float, optional -
Абсолютная погрешность. Абсолютное различие равно
atol. По умолчанию 1e-8.
Возвращает: -
y : bool -
Возвращает True, если два массива равны в пределах заданной погрешности, в противном случае False. Если любой из массивов содержит NaN, то возвращается False.
Примечания
Если следующее уравнение выполняется поэлементно, то
allcloseвозвращает True:absolute(`a` - `b`) <= (`atol` + `rtol` * absolute(`b`))
Возвращает True, если все элементы
aиbравны с учетом заданных погрешностей.Примеры
>>> a = ma.array([1e10, 1e-7, 42.0], mask=[0, 0, 1]) >>> a masked_array(data = [10000000000.0 1e-07 --], mask = [False False True], fill_value = 1e+20) >>> b = ma.array([1e10, 1e-8, -42.0], mask=[0, 0, 1]) >>> ma.allclose(a, b) False>>> a = ma.array([1e10, 1e-8, 42.0], mask=[0, 0, 1]) >>> b = ma.array([1.00001e10, 1e-9, -42.0], mask=[0, 0, 1]) >>> ma.allclose(a, b) True >>> ma.allclose(a, b, masked_equal=False) False
Значения с маской не сравниваются напрямую.
>>> a = ma.array([1e10, 1e-8, 42.0], mask=[0, 0, 1]) >>> b = ma.array([1.00001e10, 1e-9, 42.0], mask=[0, 0, 1]) >>> ma.allclose(a, b) True >>> ma.allclose(a, b, masked_equal=False) False
-
© 2005–2019 NumPy Developers
Licensed under the 3-clause BSD License.
https://docs.scipy.org/doc/numpy-1.16.1/reference/generated/numpy.ma.allclose.html