当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python numpy ma.allclose用法及代码示例


本文简要介绍 python 语言中 numpy.ma.allclose 的用法。

用法:

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

如果两个数组在容差内按元素相等,则返回 True。

此函数等效于 allclose ,但屏蔽值被视为相等(默认)或不相等,具体取决于 masked_equal 参数。

参数

a, b array_like

要比较的输入数组。

masked_equal 布尔型,可选

a 和 b 中的屏蔽值是否被视为相等 (True) 或不 (False)。默认情况下,它们被认为是相等的。

rtol 浮点数,可选

相对容差。相对差异等于 rtol * b 。默认值为 1e-5。

atol 浮点数,可选

绝对的宽容。绝对差值等于atol。默认值为 1e-8。

返回

y bool

如果两个数组在给定的容差范围内相等,则返回 True,否则返回 False。如果任一数组包含 NaN,则返回 False。

注意

如果以下等式按元素为 True,则 allclose 返回 True:

absolute(`a` - `b`) <= (`atol` + `rtol` * absolute(`b`))

如果所有元素都返回 Trueab在给定的公差范围内是相等的。

例子

>>> 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

相关用法


注:本文由纯净天空筛选整理自numpy.org大神的英文原创作品 numpy.ma.allclose。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。