numpy.ma.allclose
-
numpy.ma.allclose(a, b, masked_equal=True, rtol=1e-05, atol=1e-08)[source] -
Возвращает True, если два массива поэлементно равны с заданной точностью.
Эта функция эквивалентна
allclose, за исключением того, что значения с маской обрабатываются как равные (по умолчанию) или неравные, в зависимости от аргументаmasked_equal.- Parameters
-
-
a, barray_like -
Вводные массивы для сравнения.
-
masked_equalbool, optional -
Указывает, считаются ли значения с маской в
aиbравными (True) или нет (False). По умолчанию они считаются равными. -
rtolfloat, optional -
Относительная толерантность. Относительное различие равно
rtol * b. Значение по умолчанию 1e-5. -
atolfloat, optional -
Абсолютная толерантность. Абсолютное различие равно
atol. Значение по умолчанию 1e-8.
-
- Returns
-
-
ybool -
Возвращает True, если два массива равны с заданной точностью, иначе False. Если любой из массивов содержит NaN, то возвращается False.
-
Примечания
Если следующее уравнение истинно поэлементно, то
allcloseвозвращает True:absolute(`a` - `b`) <= (`atol` + `rtol` * absolute(`b`))
Возвращает True, если все элементы
aиbравны с учетом заданных толерантностей.Примеры
>>> a = np.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 = np.ma.array([1e10, 1e-8, -42.0], mask=[0, 0, 1]) >>> np.ma.allclose(a, b) False>>> a = np.ma.array([1e10, 1e-8, 42.0], mask=[0, 0, 1]) >>> b = np.ma.array([1.00001e10, 1e-9, -42.0], mask=[0, 0, 1]) >>> np.ma.allclose(a, b) True >>> np.ma.allclose(a, b, masked_equal=False) False
Значения с маской не сравниваются напрямую.
>>> a = np.ma.array([1e10, 1e-8, 42.0], mask=[0, 0, 1]) >>> b = np.ma.array([1.00001e10, 1e-9, 42.0], mask=[0, 0, 1]) >>> np.ma.allclose(a, b) True >>> np.ma.allclose(a, b, masked_equal=False) False
© 2005–2020 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/1.19/reference/generated/numpy.ma.allclose.html