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


Python numpy allclose用法及代碼示例


本文簡要介紹 python 語言中 numpy.allclose 的用法。

用法:

numpy.allclose(a, b, rtol=1e-05, atol=1e-08, equal_nan=False)

如果兩個數組在容差內按元素相等,則返回 True。

公差值是正的,通常是非常小的數字。將相對差 (rtol * abs(b)) 和絕對差 atol 相加以與 a 和 b 之間的絕對差進行比較。

NaNs 如果它們在同一個地方並且如果 equal_nan=True 被視為相等。如果 Inf 在兩個數組中位於相同的位置並且具有相同的符號,則它們被視為相等。

參數

a, b array_like

要比較的輸入數組。

rtol 浮點數

相對容差參數(見注釋)。

atol 浮點數

絕對容差參數(見注釋)。

equal_nan bool

是否比較 NaN 相等。如果為 True,則 a 中的 NaN 將被視為等於輸出數組中 b 中的 NaN。

返回

allclose bool

如果兩個數組在給定的容差範圍內相等,則返回 True;否則為假。

注意

如果以下等式按元素為 True,則 allclose 返回 True。

絕對(a - b)<=(atol + rtol * 絕對(b))

上式不對稱ab, 以便allclose(a, b)可能不同於allclose(b, a)在一些罕見的情況下。

的比較ab使用標準廣播,這意味著ab不需要具有相同的形狀,以便allclose(a, b)評估為真。對於numpy.equal但不是numpy.array_equal.

allclose 沒有為非數字數據類型定義。為此, bool 被視為數字數據類型。

例子

>>> np.allclose([1e10,1e-7], [1.00001e10,1e-8])
False
>>> np.allclose([1e10,1e-8], [1.00001e10,1e-9])
True
>>> np.allclose([1e10,1e-8], [1.0001e10,1e-9])
False
>>> np.allclose([1.0, np.nan], [1.0, np.nan])
False
>>> np.allclose([1.0, np.nan], [1.0, np.nan], equal_nan=True)
True

相關用法


注:本文由純淨天空篩選整理自numpy.org大神的英文原創作品 numpy.allclose。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。