如何在NumPy中避免"RuntimeWarning:在div中遇到无效值"?

Håk*_*and 18 python numpy

我试图避免RuntimeWarning: invalid value encountered in divide在NumPy中发出警告.

我以为我能做到:

import numpy as np

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

但这给了:

float64
./t.py:9: RuntimeWarning: invalid value encountered in divide
  B=A/A
[ nan]
Run Code Online (Sandbox Code Playgroud)

如果我B=A/Anp.float64(1.0) / 0.0它替换它没有警告.

NPE*_*NPE 25

你需要设置invalid而不是divide:

with np.errstate(invalid='ignore'):
                 ^^^^^^^
Run Code Online (Sandbox Code Playgroud)