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.15.4/reference/generated/numpy.ma.allclose.html