numpy.array_equal#

numpy.array_equal(a1, a2, equal_nan=False)[source]#

如果兩個陣列具有相同的形狀和元素,則為 True,否則為 False。

參數:
a1, a2array_like

輸入陣列。

equal_nanbool

是否將 NaN 視為相等進行比較。如果 a1 和 a2 的 dtype 是複數,則當給定值的實部或虛部為 nan 時,值將被視為相等。

回傳:
bbool

如果陣列相等,則回傳 True。

另請參閱

allclose

如果兩個陣列在容差範圍內逐元素相等,則回傳 True。

array_equiv

如果輸入陣列形狀一致且所有元素相等,則回傳 True。

範例

>>> import numpy as np
>>> np.array_equal([1, 2], [1, 2])
True
>>> np.array_equal(np.array([1, 2]), np.array([1, 2]))
True
>>> np.array_equal([1, 2], [1, 2, 3])
False
>>> np.array_equal([1, 2], [1, 4])
False
>>> a = np.array([1, np.nan])
>>> np.array_equal(a, a)
False
>>> np.array_equal(a, a, equal_nan=True)
True

equal_nan 為 True 時,若複數值的實部虛部為 nan,則帶有 nan 成分的複數值會被視為相等。

>>> a = np.array([1 + 1j])
>>> b = a.copy()
>>> a.real = np.nan
>>> b.imag = np.nan
>>> np.array_equal(a, b, equal_nan=True)
True