
🐼 Tu código de Pandas “funciona”… pero ¿es eficiente?
Muchos desarrolladores confunden “código sin errores” con “código eficiente”. Con Pandas, puedes obtener el resultado correcto y aun así estar haciendo las cosas de la peor manera posible.
⚡ Los errores más costosos que ralentizan Pandas:
- 🐌 Usar
.apply()conlambda: itera fila por fila, como un buclefor. Es hasta 6,000× más lento que la alternativa. - 📝 Operación correcta: la vectorización — operar sobre columnas enteras a la vez usando operaciones nativas de Pandas/NumPy.
# Lento 🐌
df.apply(lambda row: row['sales'] * row['discount'], axis=1)
# Rápido ⚡
df['sales'] * df['discount']- 🏋️ Tipos de datos inflados: guardar enteros como
int64cuandoint32es suficiente duplica el uso de memoria y ralentiza todo. - 🔍 No medir antes de optimizar: usa
%timeitpara comparar enfoques antes de reescribir código.
🎯 La clave es entender cuándo Pandas muestra sus límites y considerar alternativas como Polars o Dask para datasets masivos.
💡 Explicación en pocas palabras#
Pandas es como una planilla de cálculo muy poderosa para Python. Cuando le pedís que procese datos fila por fila (con .apply()), es lento porque hace un viaje individual por cada fila. La vectorización, en cambio, es como decirle “procesá todas las filas a la vez” — el motor interno de NumPy está optimizado para hacerlo en una sola operación, mucho más rápido. Es la diferencia entre hacer 100,000 viajes cortos versus un solo viaje largo.
Más información en el link 👇

