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


Python dask.array.isclose用法及代碼示例


用法:

dask.array.isclose(arr1, arr2, rtol=1e-05, atol=1e-08, equal_nan=False)

返回一個布爾數組,其中兩個數組在容差內按元素相等。

此文檔字符串是從 numpy.isclose 複製的。

可能存在與 Dask 版本的一些不一致之處。

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

警告

默認 atol 不適用於比較遠小於 1 的數字(請參閱注釋)。

參數

a, barray_like

要比較的輸入數組。

rtol浮點數

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

atol浮點數

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

equal_nanbool

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

返回

yarray_like

返回一個布爾數組,其中 ab 在給定容差範圍內相等。如果 ab 都是標量,則返回單個布爾值。

注意

對於有限值,isclose 使用以下等式來測試兩個浮點值是否相等。

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

與內置的 math.isclose 不同,上述等式在 ab 中不是對稱的 - 它假設 b 是參考值 - 因此 isclose(a, b) 可能與 isclose(b, a) 不同。此外,atol 的默認值不為零,用於確定哪些小值應視為接近零。默認值適用於順序統一的預期值:如果預期值明顯小於 1,則可能導致誤報。 atol 應該為手頭的用例仔細選擇。如果 ab 為零,則 atol 的零值將導致 False

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

例子

>>> np.isclose([1e10,1e-7], [1.00001e10,1e-8])  
array([ True, False])
>>> np.isclose([1e10,1e-8], [1.00001e10,1e-9])  
array([ True, True])
>>> np.isclose([1e10,1e-8], [1.0001e10,1e-9])  
array([False,  True])
>>> np.isclose([1.0, np.nan], [1.0, np.nan])  
array([ True, False])
>>> np.isclose([1.0, np.nan], [1.0, np.nan], equal_nan=True)  
array([ True, True])
>>> np.isclose([1e-8, 1e-7], [0.0, 0.0])  
array([ True, False])
>>> np.isclose([1e-100, 1e-7], [0.0, 0.0], atol=0.0)  
array([False, False])
>>> np.isclose([1e-10, 1e-10], [1e-20, 0.0])  
array([ True,  True])
>>> np.isclose([1e-10, 1e-10], [1e-20, 0.999999e-10], atol=0.0)  
array([False,  True])

相關用法


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