numpy.ma.allclose #
- 嘛。allclose ( a , b , masked_equal = True , rtol = 1e-05 , atol = 1e-08 ) [来源] #
如果两个数组在容差范围内元素相等,则返回 True。
此函数等效于,
allclose
只不过掩码值被视为相等(默认)或不相等,具体取决于参数masked_equal
。- 参数:
- a, b类似数组
输入要比较的数组。
- masked_equal布尔值,可选
a和b中的屏蔽值是否被视为相等 (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`))
如果a和b的所有元素在给定容差范围内相等,则返回 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