numpy.ma.allclose #

嘛。allclose ( a , b , masked_equal = True , rtol = 1e-05 , atol = 1e-08 ) [来源] #

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

此函数等效于,allclose只不过掩码值被视为相等(默认)或不相等,具体取决于参数masked_equal

参数
a, b类似数组

输入要比较的数组。

masked_equal布尔值,可选

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

RTOL浮动,可选

相对耐受性。相对差值等于。默认值为 1e-5。rtol * b

atol浮动,可选

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

返回
布尔

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

也可以看看

all,any
numpy.allclose

非蒙面的allclose.

笔记

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

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

如果ab的所有元素在给定容差范围内相等,则返回 True。

例子

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