📜  Python| Numpy np.assert_array_equal() 方法(1)

📅  最后修改于: 2023-12-03 15:19:13.985000             🧑  作者: Mango

Python | Numpy np.assert_array_equal() 方法

在 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 异常并打印了详细的错误信息。