如何比较两个NumPy数组
这里我们将重点讨论使用NumPy对数组进行的比较。比较两个NumPy数组,通过检查每个对应索引的每个元素是否相同,来确定它们是否相等。
方法1:我们一般使用==运算符来比较两个NumPy数组,生成一个新的数组对象。用新的数组对象作为ndarray调用ndarray.all(),如果这两个NumPy数组是等价的,则返回真。
import numpy as np
an_array = np.array([[1, 2], [3, 4]])
another_array = np.array([[1, 2], [3, 4]])
comparison = an_array == another_array
equal_arrays = comparison.all()
print(equal_arrays)
输出:
True
方法2:我们还可以使用大于、小于和等于运算符进行比较。为了理解,请看下面的代码。
Syntax : numpy.greater(x1, x2[, out])
Syntax : numpy.greater_equal(x1, x2[, out])
Syntax : numpy.less(x1, x2[, out])
Syntax : numpy.less_equal(x1, x2[, out])
import numpy as np
a = np.array([101, 99, 87])
b = np.array([897, 97, 111])
print("Array a: ", a)
print("Array b: ", b)
print("a > b")
print(np.greater(a, b))
print("a >= b")
print(np.greater_equal(a, b))
print("a < b")
print(np.less(a, b))
print("a <= b")
print(np.less_equal(a, b))
输出:
方法3:使用array_equal()
这个array_equal()函数检查两个数组是否具有相同的元素和相同的形状。
语法:
numpy.array_equal(arr1, arr2)
参数:
- arr1 : [array_like]输入数组或对象的元素,我们需要测试。
- arr2 : [array_like]输入数组或对象的元素,我们需要测试。
返回类型: True,两个数组有相同的元素和相同的形状。 否则False
示例
import numpy as np
arr1 = np.array([[1, 2], [3, 4]])
arr2 = np.array([[1, 2], [3, 4]])
# Comparing the arrays
if np.array_equal(arr1, arr2):
print("Equal")
else:
print("Not Equal")
输出:
Equal