numpy.array_equal#

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

如果两个数组具有相同的形状和元素,则返回 True,否则返回 False。

参数:
a1, a2array_like

输入数组。

equal_nanbool

是否将 NaN 视为相等。如果 a1 和 a2 的 dtype 为复数,则如果给定值的实部或虚部为 nan,则这些值将被视为相等。

版本 1.19.0 中的新功能。

返回值:
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