我在运行一年前在旧系统上编写的代码时遇到了麻烦(Python 2.7和我相信它是NumPy 1.6.1)。 我构建了很多“assert_array_almost_equal”来检查我的程序的运行情况。据我检查我的代码,我正在比较像
这样的东西>>> np.testing.assert_array_almost_equal([1.0,1.0,np.nan],
np.ones(3))
我不知道。这种清晰提出了一个断言错误。但是,由于代码在以前的系统上运行良好,我想知道“assert_array_almost_equal”中是否有更改,并且它之前只是忽略了NaN。
答案 0 :(得分:0)
我不相信会有任何改变会导致你所描述的行为。 Numpy 1.6.0和1.7.0的文档显示了相同的行为:
>>> np.testing.assert_array_almost_equal([1.0,2.33333,np.nan],
... [1.0,2.33333, 5], decimal=5)
<type 'exceptions.ValueError'>:
ValueError:
Arrays are not almost equal
x: array([ 1. , 2.33333, NaN])
y: array([ 1. , 2.33333, 5. ])
Numpy 1.7.0 assert_array_almost_equal documentation
Numpy 1.6.0 assert_array_almost_equal documentation