numpy.array_equal#

numpy.array_equal(a1, a2, equal_nan=False)[源代码]#

如果两个数组具有相同的形状和元素,则为 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