如何避免NumPy中的“RuntimeWarning: divide中遇到无效值”?

21 投票
1 回答
20261 浏览
提问于 2025-04-20 06:45

我正在尝试避免在NumPy中出现警告 RuntimeWarning: invalid value encountered in divide

我原以为可以这样做:

import numpy as np

A=np.array([0.0])
print A.dtype
with np.errstate(divide='ignore'):
    B=A/A
print B

但是这样会得到:

float64
./t.py:9: RuntimeWarning: invalid value encountered in divide
  B=A/A
[ nan]

如果我把 B=A/A 替换成 np.float64(1.0) / 0.0,就不会出现警告了。

1 个回答

27

你需要设置的是 invalid,而不是 divide

with np.errstate(invalid='ignore'):
                 ^^^^^^^

撰写回答