0

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

4

1 回答 1

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 文档
Numpy 1.6.0 assert_array_almost_equal 文档

于 2013-09-04T16:05:14.153 回答