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, необязательно
Определяет, считаются ли значения с маской в
aиbравными (True) или нет (False). По умолчанию они считаются равными.rtol : float, необязательно
Относительная погрешность. Относительная разность равна
rtol * b. Значение по умолчанию равно 1e-5.atol : float, необязательно
Абсолютная погрешность. Абсолютная разность равна
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.14.5/reference/generated/numpy.ma.allclose.html