我有两个维度为m-n-n
的NumPy 3D数组:arr1
和arr2
.每个内部数组是方阵(n-n
).在我的单元测试工作中,arr1
和arr2
应该是相同的,只是arr1
中的任何内部矩阵中的任何一列都可以具有与arr2
中的符号不同的符号.我想模仿一下函数numpy.testing.assert_almost_equal(arr1, arr2)
.即使有一些列具有不同的符号,它也应该输出True
.你能告诉我怎么实现吗?提前谢谢!
下面是一个例子.在第一个内矩阵中,第二列具有不同的符号;在第二个内矩阵中,第三列具有不同的符号;并且第三个内矩阵具有相同的符号.请注意,不同的符号应用于整个列,而不是其中的一部分.
import numpy as np
arr1 = np.array([
[
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
],
[
[10, 20, 30],
[40, 50, 60],
[70, 80, 90]
],
[
[100, 200, 300],
[400, 500, 600],
[700, 800, 900]
]
])
arr2 = np.array([
[
[1, -2, 3],
[4, -5, 6],
[7, -8, 9]
],
[
[10, 20, -30],
[40, 50, -60],
[70, 80, -90]
],
[
[100, 200, 300],
[400, 500, 600],
[700, 800, 900]
]
])
np.testing.assert_almost_equal(arr1, arr2) # How to re-write it so that the comparison results is `True`?