如何获得更详细的错误信息numpy for" RuntimeWarning:在multiply中遇到无效值"错误

时间:2013-02-20 17:56:22

标签: python numpy runtime-error

有没有办法从numpy获取更详细的错误消息

“RuntimeWarning:在乘法中遇到无效值”

它来自代码中的某一行,我正在做一些数组操作。我可以报告numpy:

(1)关于无效值的更多信息(inf?nan?)

(2)导致问题的数组条目?

当然我可以自己检查一下这个数组,但是如果numpy可以告诉我问题是什么以及在哪里会很好。

1 个答案:

答案 0 :(得分:7)

您可能至少可以通过numpy.seterrcall(与链接中所示的numpy.seterr一起)获取有关错误类型的更多信息。至于找出哪个数组给出问题,这可能是不可能的,因为numpy必然会创建临时数组:

a = b + (c*d)
#       ^This creates a temporary array before adding it to `a`

当然,如果您想知道代码中有哪些行号,您可以使用seterr来引发异常而非警告。