NumPy处理NaN的断言是否有变化?

时间:2013-09-04 08:46:27

标签: python numpy

我在运行一年前在旧系统上编写的代码时遇到了麻烦(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。

1 个答案:

答案 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