如何比较两个NumPy数组

如何比较两个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))

输出:

如何比较两个NumPy数组?

方法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

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

Numpy 数组操作