Python 查找失败的索引numpy.assert_几乎等于
我正在处理像(110,80817)这样的大型3D阵列,并希望在一些单元测试中比较两个阵列。但是,Python 查找失败的索引numpy.assert_几乎等于,python,numpy,Python,Numpy,我正在处理像(110,80817)这样的大型3D阵列,并希望在一些单元测试中比较两个阵列。但是,numpy.assert_几乎等于的默认输出不能帮助我很容易地跟踪错误。例如: > raise AssertionError(msg) E AssertionError: E Arrays are not almost equal to 7 decimals E E
numpy.assert_几乎等于
的默认输出不能帮助我很容易地跟踪错误。例如:
> raise AssertionError(msg)
E AssertionError:
E Arrays are not almost equal to 7 decimals
E
E (mismatch 0.0314621119395%)
E x: array([[[ 0., 0., 0., ..., 0., 0., 0.],
E [ 0., 0., 0., ..., 0., 0., 0.],
E [ 0., 0., 0., ..., 0., 0., 0.],...
E y: array([[[ 0., 0., 0., ..., 0., 0., 0.],
E [ 0., 0., 0., ..., 0., 0., 0.],
E [ 0., 0., 0., ..., 0., 0., 0.],...
有没有一种方法可以很容易地看到哪些3D索引未通过此断言?您可以将与结合使用来进行此操作
现在,
idx
将列出断言失败的所有索引(x,y,z)
。!谢谢你的帮助。
idx = zip(*np.where(~np.isclose(a, b, atol=0, rtol=1e-7)))