Ir al contenido
  1. Posts/

Por Qué Deberías Dejar de Escribir Loops en Pandas

··245 palabras·2 mins·

🐼 Si usás for i in range(len(df)): en Pandas, estás haciendo el trabajo del compilador a mano. Hay una mejor manera.

Cuando empezás con Pandas, los loops parecen naturales. Funcionan. El problema es que no escalan.

# ❌ Forma de principiante
for i in range(len(df)):
    if df.loc[i, "sales"] > 1000:
        df.loc[i, "tier"] = "high"
    else:
        df.loc[i, "tier"] = "low"

Con 5 filas parece fine. Con 50,000 filas se vuelve inaceptablemente lento.

¿Por qué? Pandas está procesando una operación tiny por cada fila, en lugar de manejar toda la columna de una vez con operaciones vectorizadas.

La solución: Boolean Indexing

# ✅ Forma vectorizada
df["tier"] = "low"
df.loc[df["sales"] > 1000, "tier"] = "high"

Mismo resultado. Drásticamente más rápido. Más legible.

El cambio mental clave: Pandas fue diseñado para pensar en columnas, no en filas. Una vez que hacés ese switch, el código se acorta, la ejecución se acelera y Pandas finalmente se siente como tu aliado.

💡 Explicación en pocas palabras
#

Los loops en Pandas son el síntoma de pensar “fila a fila” en una herramienta diseñada para pensar “columna a columna”. Boolean indexing, .apply() cuando necesitás lógica compleja, y las operaciones vectorizadas nativas son las alternativas que te dan 10x-100x más performance con menos código.

Más información en el link 👇

También publicado en LinkedIn.
Juan Pedro Bretti Mandarano
Autor
Juan Pedro Bretti Mandarano