Handling division by zero in Pandas calculations

后端 未结 3 470
情书的邮戳
情书的邮戳 2021-01-05 16:31

I have the following data:

a = pd.Series([1, 2, 3])
b = pd.Series([0, 0, 0])

If there is a division by zero I want to in some cases

3条回答
  •  花落未央
    2021-01-05 17:06

    You can use df.replace after division:

    (a / b).replace(np.inf, 0)
    
    0    0.0
    1    0.0
    2    0.0
    dtype: float64
    
    (a / b).replace(np.inf, a)
    
    0    1.0
    1    2.0
    2    3.0
    dtype: float64
    

    Want to handle negative infinity too? You'll need:

    (a / b).replace((np.inf, -np.inf), (a, a))
    

提交回复
热议问题