如何比较两个NumPy数组

  • Post category:Python

比较两个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数组的完整攻略。