8

numpy 中的奇怪行为(错误??)与文档相反,以下代码给出了一个 RuntimeWarning: 在 fmax 中遇到的无效值

a = np.random.uniform(0.1, 0.4, (5, 5))
b = np.random.uniform(0, 3.5, (5, 5))
b[0, 0] = np.nan

c = np.fmax(a, b) # Same problem with c = np.maximum(a, b)

我被困住了,因为我需要在我的数组中使用这些 NaN,现在我的函数在 iPython 中停止了这个该死的警告(好吧,它们真的没有停止,但它很烦人)

编辑

numpy 1.6.1

ipython 0.13.1

4

1 回答 1

13

我也遇到同样的问题。这些警告是 numpy 的一个有意的方面,用于在用户可能遇到框架的某些限制时通知用户。的值c仍然在上面的代码中返回,所以它工作正常。

如果您不想再看到这些特定错误,只需根据需要修改 numpy 的警告设置:

np.seterr(invalid='ignore')

而且您不会再看到无效值警告。

于 2013-04-14T23:27:32.533 回答