比较两个NumPy数组的主要操作之一是使用numpy.array_equal
函数。此函数比较两个数组的形状大小相等、元素类型相同以及元素值相同性,返回相等性的布尔值。
下面是对numpy.array_equal
函数的使用示例说明:
示例1
import numpy as np
a = np.array([[3, 4], [5, 6]])
b = np.array([[3, 4], [5, 6]])
print(np.array_equal(a, b)) #True
在本示例中,我们定义了两个数组a
和b
,都是二维数组。然后,我们比较两个数组的相等性,并输出结果。
输出结果应该为True,因为两个数组的形状大小相等、元素类型相同以及元素值相同性。
示例2
import numpy as np
a = np.array([1, 2, 3])
b = np.array([1, 2, 4])
print(np.array_equal(a, b)) #False
在本示例中,我们定义了两个数组a
和b
,都是一维数组。然后,我们比较两个数组的相等性,并输出结果。
输出结果应该为False,因为两个数组的形状大小相等、元素类型相同,但元素值不同。
此外,如果需要比较两个数组的逐个元素的大小关系,则可以使用逐元素比较函数numpy.array_equal
。
下面是对逐元素比较函数numpy.allclose
的使用示例说明:
示例3
import numpy as np
a = np.array([1, 2, 3])
b = np.array([1.0001, 1.9999, 3.0001])
print(np.allclose(a, b, atol=0.001)) #True
在本示例中,我们定义了两个数组a
和b
,都是一维数组。然后,我们使用函数numpy.allclose
比较两个数组的逐元素的大小关系,并输出结果。
在比较时,我们需要指定比较的绝对误差容差,即参数atol
的值。本示例中,我们指定atol=0.001
,表示我们容忍两个元素的差值小于等于0.001才认为它们相等。
输出结果应该为True。