如何比较两个NumPy数组

  • Post category:Python

比较两个NumPy数组的方法有很多种。以下是几种通用的方法:

1. 使用equal()函数

equal()函数用于比较两个数组的元素是否相等,返回每个元素的布尔运算结果。

import numpy as np

a = np.array([1, 2, 3])
b = np.array([1, 2, 3])

print(np.equal(a, b)) # 输出 [ True  True  True ]

c = np.array([1, 2, 3])
d = np.array([1, 9, 3])

print(np.equal(c, d)) # 输出 [ True False  True ]

上述代码中,我们分别比较了两组数组是否完全相等。第一组数组每个元素都相等,因此输出都为True。而第二组数组只有第二个元素不相等,因此输出为[True False True]

2. 使用array_equiv()函数

array_equiv()函数用于比较两个数组的元素是形状大小和元素排列是否相等,返回布尔值结果。

import numpy as np

e = np.array([1, 2, 3])
f = np.array([1, 2, 3])

print(np.array_equiv(e, f)) # 输出 True

g = np.array([1, 2, 3])
h = np.array([[1, 2], [3, 4]])

print(np.array_equiv(g, h)) # 输出 False

上述代码中,我们比较了两组数组是否对应相等。第一组数组的元素相等,排列也相同,因此结果为True。而第二组数组元素虽然相等,但是形状不同,因此结果为False

综上所述,比较NumPy数组可以使用不同的方法,每种方法都有自己的特点和适用范围,我们需要根据实际情况选择合适的方法。