當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。