numpy.array_equal#

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

如果两个数组具有相同的形状和元素,则为真,否则为假.

参数:
a1, a2array_like

输入数组.

equal_nanbool

是否将 NaN 视为相等.如果 a1 和 a2 的数据类型是复数,则如果给定值的实部或虚部为 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