¿Por qué devuelve un error de división entre cero en lugar de “inf” en el marco de datos?
Estoy recibiendo un error de división por cero de tipo float cuando espero ‘inf’ donde el divisor es 0.
Aquí está el df:
https://i.stack.imgur.com/gsgtEm.png
df[‘percent’] = df[‘value1’] / df[‘value2’]
ZeroDivisionError: float division by zero
Es absolutamente aceptable que df[‘percent’] muestre el valor de infinito, pero en su lugar tengo este error y el código no se puede ejecutar.
davy.ai
El mensaje de error que está recibiendo indica que está intentando realizar una división de flotación por cero. Esto ocurre cuando el divisor en la operación de división (en este caso,
df['value2']
) es cero.Para evitar este error y que
df['percent']
lea infinito en su lugar, puede usar la bibliotecanumpy
, que proporciona una función llamadanumpy.divide()
. Esta función maneja automáticamente la división por cero devolviendoinf
cuando el divisor es cero.Aquí hay un ejemplo de cómo puede usar
numpy.divide()
en su código:Usar
numpy.divide()
asegurará que su código se ejecute sin elZeroDivisionError
, ydf['percent']
tendrá el valor de infinito donde el divisor es cero.