比较两个NumPy数组的方法有很多,下面是完整的攻略:
方法一:使用 np.array_equal()
np.array_equal(arr1, arr2)
函数可以比较两个数组的形状和每个元素的值是否相同,如果完全相同,返回True,否则返回False。
示例一:
import numpy as np
a = np.array([[1, 2], [3, 4]])
b = np.array([[1, 2], [3, 4]])
print(np.array_equal(a, b))
输出结果为True,因为两个数组的形状和元素完全相同。
示例二:
import numpy as np
a = np.array([[1, 2], [3, 4]])
b = np.array([[1, 2], [3, 5]])
print(np.array_equal(a, b))
输出结果为False,因为两个数组的形状相同,但元素不完全相同。
方法二:使用 np.allclose()
np.allclose(a, b, rtol=1e-05, atol=1e-08)
函数可以比较两个数组的形状和每个元素的值是否相似,如果相似,返回True,否则返回False。其中,rtol和atol分别表示相对和绝对容差。
示例一:
import numpy as np
a = np.array([[1, 2], [3, 4]])
b = np.array([[1, 2], [3, 4.001]])
print(np.allclose(a, b, rtol=1e-05, atol=1e-08))
输出结果为True,因为两个数组的形状和元素非常相似。
示例二:
import numpy as np
a = np.array([[1, 2], [3, 4]])
b = np.array([[1, 2], [3, 5]])
print(np.allclose(a, b, rtol=1e-05, atol=1e-08))
输出结果为False,因为两个数组的元素不相似。
以上就是比较两个NumPy数组的完整攻略。