使大熊猫除以零而不是inf来升高

Dan*_*ien 5 pandas

我希望大熊猫在被零除时引发异常,如下所示:

d = {'col1': [2., 0.], 'col2': [4., 0.]}
df = pd.DataFrame(data=d)
2/df
Run Code Online (Sandbox Code Playgroud)

代替当前结果:

0    1.000000
1         inf
Name: col1, dtype: float64
Run Code Online (Sandbox Code Playgroud)

任何建议如何实现这一目标?

我知道我可以使用numpy,np.seterr(divide='raise')但是熊猫确实忽略了这一点。

非常感谢

小智 1

仔细查看源代码和跟踪显示,在内部pandas您可以找到很多这样的上下文处理程序:

with np.errstate(all='ignore'):

或者

with numeric.errstate(all='ignore'):

这就是被忽略的原因np.seterr,并且可能没有简单的方法可以摆脱它。