一、np.equal用法
numpy庫中的np.equal函數(shù)用于對比兩個(gè)數(shù)組相同位置的元素是否相等,返回一個(gè)布爾值的數(shù)組(True表示相等,F(xiàn)alse表示不相等)。該函數(shù)的參數(shù)有兩個(gè):x1和x2。其中x1和x2可以是數(shù)組或標(biāo)量。當(dāng)x1和x2具有不同的類型時(shí),嘗試將它們轉(zhuǎn)換為相同的類型。
import numpy as np a = np.array([1, 2, 3, 4]) b = np.array([1, 2, 5, 6]) print(np.equal(a,b)) #[ True True False False]
上述例子中,數(shù)組a和數(shù)組b都有四個(gè)元素,np.equal函數(shù)對比數(shù)組a和數(shù)組b相同位置的元素,返回一個(gè)新的包含四個(gè)元素的布爾值數(shù)組。
二、np.equal()返回值
np.equal()函數(shù)返回一個(gè)與第一個(gè)參數(shù)相同的形狀的布爾值數(shù)組。np.equal()函數(shù)的返回值是由兩個(gè)輸入數(shù)組逐位置進(jìn)行比較后得到的結(jié)果。
import numpy as np a = np.array([1, 2, 3, 4]) b = np.array([1, 2, 5, 6]) c = np.array([1, 2, 3, 4]) print(np.equal(a,b)) #[ True True False False] print(np.equal(a,c)) #[ True True True True] print(np.equal(b,c)) #[ True True False False]
上述代碼中,np.equal函數(shù)比較a和b數(shù)組元素的值,并將比較結(jié)果“逐位置”存儲到一個(gè)新的數(shù)組中返回。對于a和c,它們的元素值都一樣,所以返回的數(shù)組的每個(gè)位置都是True。對于b和c,它們的元素值不完全相同,所以返回的數(shù)組中只有前兩個(gè)位置是True。
三、np.equal函數(shù)相關(guān)用法
1. np.array_equal函數(shù)的用法
與np.equal不同,np.array_equal用于比較兩個(gè)數(shù)組是否相等。
import numpy as np a = np.array([1, 2, 3, 4]) b = np.array([1, 2, 5, 6]) c = np.array([1, 2, 3, 4]) print(np.array_equal(a,b)) #False print(np.array_equal(a,c)) #True
上述代碼中,我們用np.array_equal比較數(shù)組a和數(shù)組b的值,返回False;比較數(shù)組a和數(shù)組c的值,返回True。
2. np.allclose函數(shù)的用法
np.allclose函數(shù)用于比較兩個(gè)數(shù)組是否相等,這兩個(gè)數(shù)組可以有一定的誤差容忍度。np.allclose的用法為np.allclose(a,b,atol=1e-8,rtol=1e-5)。其中a、b是兩個(gè)數(shù)組,atol是絕對誤差容忍度(默認(rèn)值是1e-8),rtol是相對誤差容忍度(默認(rèn)值是1e-5)
import numpy as np a = np.array([1, 2, 3, 4]) b = np.array([1.001, 2.001, 3.001, 4.001]) print(np.allclose(a,b,atol=0.01,rtol=0.01)) #True print(np.allclose(a,b,atol=0.0001,rtol=0.01)) #False
上述代碼中,我們認(rèn)為a和b的誤差容忍度分別是0.01和0.0001,第一次比較得到結(jié)果為True,第二次比較得到結(jié)果為False。
四、總結(jié)
np.equal函數(shù)是numpy庫中用于對比兩個(gè)數(shù)組相同位置的元素是否相等的函數(shù),返回一個(gè)布爾值的數(shù)組。同時(shí),np.array_equal和np.allclose也是對比兩個(gè)數(shù)組是否相等的方法。np.array_equal用于比較兩個(gè)數(shù)組是否相等,而np.allclose用于比較兩個(gè)數(shù)組是否相等,且具有一定的誤差容忍度。