Spec-Zone.ru › NumPy 2.0

numpy.ma.allclose

ma.allclose(a, b, masked_equal=True, rtol=1e-05, atol=1e-08)[source]

Возвращает True, если два массива попарно равны в пределах заданной толерантности.

Эта функция эквивалентна allclose, за исключением того, что значения с маской обрабатываются как равные (по умолчанию) или не равные, в зависимости от аргумента masked_equal.

Параметры:
a, barray_like

Вводные массивы для сравнения.

masked_equalbool, optional

Указывает, считаются ли значения с маской в a и b равными (True) или нет (False). По умолчанию они считаются равными.

rtolfloat, optional

Относительная толерантность. Относительная разница равна rtol * b. Значение по умолчанию равно 1e-5.

atolfloat, optional

Абсолютная толерантность. Абсолютная разница равна atol. Значение по умолчанию равно 1e-8.

Возвращает:
ybool

Возвращает True, если два массива равны в пределах заданной толерантности, иначе False. Если любой из массивов содержит NaN, то возвращается False.

См. также

all, any
numpy.allclose

немаскированный аналог allclose.

Примечания

Если следующее уравнение выполняется поэлементно, то 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–2024 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/2.0/reference/generated/numpy.ma.allclose.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API