
🐼 ¿Usás loc o iloc en Pandas? La diferencia es más simple de lo que parece.
Si trabajás con DataFrames en Python, seguramente te confundiste alguna vez entre estos dos operadores. La regla es sencilla:
loc→ selecciona por etiquetas (nombre del índice o columna)iloc→ selecciona por posición entera (como indexar una lista)
💡 Ejemplos prácticos:
# loc: por etiqueta
df.loc[102] # fila con índice 102
df.loc[101:103, 'math'] # rango de etiquetas, incluye el final
# iloc: por posición
df.iloc[1] # segunda fila (posición 1)
df.iloc[0:3, [0, 1, 3]] # filas 0–2, columnas por posición📌 ¿Cuándo usar cada uno?
| Situación | Usar |
|---|---|
| Índices con significado (ID, nombre) | loc |
| Quiero las primeras N filas | iloc |
| Índices duplicados o desordenados | iloc |
| Filtrado booleano | loc |
⚠️ Diferencia en slicing:
loc[101:103]→ incluye la fila 103iloc[0:3]→ excluye la posición 3 (igual que las listas de Python)
💡 Explicación en pocas palabras#
loc trabaja con las etiquetas que ves en el índice del DataFrame, mientras que iloc trabaja con las posiciones numéricas (0, 1, 2…), como si fuera una lista. Si tu índice es numérico y empieza desde 0, pueden parecer iguales, pero si cambiás el índice, loc y iloc pueden dar resultados completamente distintos.
Más información en el link 👇
También publicado en LinkedIn.

