📅  最后修改于: 2023-12-03 15:19:13.985000             🧑  作者: Mango
在 NumPy 中,np.assert_array_equal() 方法被用来测试两个 NumPy 数组是否相等。
当两个数组的形状和值都相等时,该方法将不会抛出任何异常。如果两个数组不相等,则抛出 AssertionError 异常。
np.assert_array_equal(actual, desired, err_msg='', verbose=True)
actual
:实际数组。desired
:所需数组。err_msg
:错误信息。verbose
:是否打印详细信息。当两个数组形状和值都相等时,该方法将不会返回任何值。如果两个数组不相等,则抛出 AssertionError 异常。
import numpy as np
# 实际数组
arr1 = np.array([1, 2, 3])
# 所需数组
arr2 = np.array([1, 2, 3])
# 数组相等
np.assert_array_equal(arr1, arr2)
# 实际数组
arr3 = np.array([1, 2, 3])
# 所需数组
arr4 = np.array([1, 2, 4])
# 数组不相等
np.assert_array_equal(arr3, arr4)
输出:
None
Traceback (most recent call last):
File "<ipython-input-3-6d38d6fbb520>", line 3, in <module>
np.assert_array_equal(arr3, arr4)
File "/usr/local/lib/python3.7/site-packages/numpy/testing/_private/utils.py", line 898, in assert_array_equal
verbose=verbose, header='Arrays are not equal')
File "/usr/local/lib/python3.7/site-packages/numpy/testing/_private/utils.py", line 787, in assert_array_compare
raise AssertionError(msg)
AssertionError:
Arrays are not equal
Mismatched elements: 1 / 3 (33.3%)
Max absolute difference: 1
Max relative difference: 0.25
x: array([1, 2, 3])
y: array([1, 2, 4])
在上面的代码中,我们首先比较了两个相等的数组。然后,我们比较了两个不相等的数组,这时 assert_array_equal() 方法抛出了 AssertionError 异常并打印了详细的错误信息。