3 Errores silenciosos de Pandas de los que debes ser consciente

3 Errores silenciosos de Pandas a tener en cuenta

Y cómo pueden causar fallas ocultas

Foto de Malik Earnest en Unsplash

“Los errores del tonto son conocidos por el mundo, pero no por él mismo. Los errores del hombre sabio son conocidos por él mismo, pero no por el mundo.” – Charles Caleb Colton

No saber los errores que cometemos en programación no necesariamente nos hace tontos. Sin embargo, puede tener consecuencias no deseadas.

Algunos errores brillan como un diamante y pueden ser reconocidos desde lejos. Incluso si no los notas, los compiladores (o intérpretes) nos informan sobre ellos al generar errores.

Por otro lado, existen errores “silenciosos” que son difíciles de notar pero tienen el potencial de causar problemas graves.

No generan errores pero hacen que la función o la operación se ejecuten de manera diferente a lo que piensas. Por lo tanto, el resultado cambia sin que te des cuenta.

Aprenderemos sobre tres de estos problemas.

Eres un analista de datos que trabaja en una empresa minorista. Te han pedido que analices los resultados de una serie de promociones recientemente realizadas. Una de las tareas en este análisis es calcular las cantidades totales de ventas para cada promoción y el total general.

Supongamos que los datos de las promociones se almacenan en un DataFrame que se ve así (definitivamente no tan pequeño en la vida real):

DataFrame de promociones (imagen del autor)

Y aquí está el código de Pandas para crear este DataFrame si quieres seguir y hacer los ejemplos por tu cuenta:

import pandas as pdpromotion = pd.DataFrame(    {        "promotion_code": ["A2", "A1", "A2", "B1", "A2", None, "A2", "B1", None, "A1"],        "sales_qty": [34, 32, 26, 71, 44, 27, 64, 33, 45, 90],        "price": [24.5, 33.1, 64.9, 52.0, 29.0, 47.5, 44.2, 25.0, 42.5, 30.0]    })

Calcular la cantidad total de ventas por código de promoción es pan comido. Solo necesitas usar la función groupby:

promotion.groupby("promotion_code").agg(…