4Geeks chosen to deliver AI education in the Bahamas alongside Harvard, Oxford, and Columbia.See more

¿Cómo usar el método drop de Pandas?

By 4Geeks

Elimina columnas y filas por su etiqueta, borra filas que cumplen una condición y evita que drop() no cambie nada o devuelva None.

5 min readLast updated
Icono de pandas drop

¿Cómo usar drop() en pandas?

Respuesta corta: drop() elimina filas o columnas de un DataFrame por su etiqueta. Usa df.drop(columns="nombre") para quitar columnas y df.drop(index=[1, 3]) para quitar filas. Devuelve un DataFrame nuevo, así que guarda el resultado.

python
import pandas as pd
 
df = pd.DataFrame({
    "nombre": ["Ana", "Luis", "Marta", "Pedro"],
    "edad": [28, 34, 25, 41],
    "ciudad": ["Madrid", "Lima", "Bogotá", "Quito"],
})
 
df = df.drop(columns="ciudad")
print(df)
  nombre  edad
0    Ana    28
1   Luis    34
2  Marta    25
3  Pedro    41

Si no guardas el resultado en una variable, df no cambia. Es el error más común con drop().

drop() busca por etiqueta: el nombre de la columna o el valor del índice de la fila.

Sintaxis de drop()

python
df.drop(
    labels=None,
    axis=0,
    index=None,
    columns=None,
    level=None,
    inplace=False,
    errors="raise",
)
ParámetroQué hace
columnsLa columna o la lista de columnas que quieres quitar
indexLa fila o la lista de filas, por su etiqueta en el índice
labels + axisLa forma antigua: axis=0 para filas y axis=1 para columnas
levelEl nivel del índice cuando es un MultiIndex
inplaceTrue modifica df y devuelve None
errors"ignore" no da error si la etiqueta no existe

df.drop(columns="edad") y df.drop("edad", axis=1) hacen lo mismo. La primera forma es más clara, porque no tienes que recordar qué es cada axis.

Ejemplos de drop() en pandas

Los ejemplos parten del DataFrame original de cuatro personas, con las columnas nombre, edad y ciudad.

Eliminar varias columnas

python
print(df.drop(columns=["edad", "ciudad"]))
  nombre
0    Ana
1   Luis
2  Marta
3  Pedro

Eliminar filas por su índice

python
print(df.drop(index=[1, 3]))
  nombre  edad  ciudad
0    Ana    28  Madrid
2  Marta    25  Bogotá

Fíjate en que el índice queda con huecos (0, 2). Si lo quieres seguido, añade .reset_index(drop=True).

Eliminar filas que cumplen una condición

drop() necesita etiquetas, así que primero obtienes el índice de las filas que quieres quitar:

python
jovenes = df[df["edad"] < 30].index
 
print(df.drop(jovenes))
  nombre  edad ciudad
1   Luis    34   Lima
3  Pedro    41  Quito

Filtrar las filas que quieres conservar da el mismo resultado y suele ser más legible: df[df["edad"] >= 30].

Eliminar filas por un valor del índice

python
personas = df.set_index("nombre")
 
print(personas.drop("Luis"))
        edad  ciudad
nombre
Ana       28  Madrid
Marta     25  Bogotá
Pedro     41   Quito

Eliminar la última fila o la primera columna

python
df.drop(df.index[-1])            # la última fila
df.drop(columns=df.columns[0])   # la primera columna

No dar error si la columna no existe

python
df.drop(columns="pais", errors="ignore")

Es útil en scripts que procesan archivos en los que esa columna a veces aparece y a veces no.

Carrera · Ingeniería de IA

Ya sabes limpiar datos con pandas, ahora construye con IA

De cero a AI Engineer junior: Python, datos, agentes de IA y RAG con mentores y proyectos reales.

drop() con inplace=True

python
df.drop(columns="ciudad", inplace=True)

Con inplace=True, drop() modifica df directamente y devuelve None. Por eso df = df.drop(columns="ciudad", inplace=True) deja df en None. Es mejor la forma sin inplace, df = df.drop(...): se lee igual, se puede encadenar con otros métodos y evita ese error.

drop() frente a otras formas de eliminar datos

Quieres eliminarUsa
Columnas por su nombredf.drop(columns=[...])
Filas por su etiquetadf.drop(index=[...])
Filas que cumplen una condicióndf[~condicion] o df.drop(df[condicion].index)
Filas con valores vacíosdf.dropna()
Filas repetidasdf.drop_duplicates()
Una columna y quedarte con sus valoresdf.pop("columna")

Para ver todas las formas de quitar columnas, mira cómo eliminar columnas en pandas.

Usa drop() con IA

Un asistente como ChatGPT, Claude o GitHub Copilot escribe el drop() correcto en segundos si le das tus columnas y qué quieres quitar. Estos tres prompts están listos para copiar.

1. Limpia tu DataFrame

Tengo un DataFrame de pandas con estas columnas: [pega df.columns].
Quiero quitar [las columnas X e Y / las filas donde Z / las filas vacías / los duplicados].
Escribe el código y explícame por qué usas drop(), dropna() o un filtro.

2. Arregla un drop() que no funciona

Mi drop() [da KeyError / no cambia el DataFrame / devuelve None]:
[pega tu código y df.columns o df.index]
Explícame la causa y dame la corrección.

3. Elimina filas con una condición

Escribe el código de pandas para eliminar las filas de df donde [condición, por ejemplo edad menor que 18 o ciudad vacía].
Dame la versión con drop() y la versión con un filtro.

Comprueba siempre el resultado con df.shape y df.columns antes de seguir trabajando con los datos.

Aprende con un mentor

De limpiar DataFrames a aplicaciones con IA

En la carrera de Ingeniería de IA de 4Geeks empiezas sin experiencia y terminas con agentes de IA y sistemas RAG en tu portafolio.

Errores comunes con drop()

Lo que vesPor qué pasaSolución
KeyError: "['pais'] not found in axis"La columna o la fila no existe, está mal escrita o tiene espaciosRevisa df.columns.tolist() o usa errors="ignore"
KeyError al hacer df.drop("ciudad")Sin axis=1 ni columns, drop() busca en las filasUsa df.drop(columns="ciudad")
El DataFrame no cambiaNo guardaste el resultadoUsa df = df.drop(...)
El DataFrame es NoneMezclaste inplace=True con una asignaciónUsa una de las dos formas, no las dos
Se borra una fila que no esperabasindex busca etiquetas, no posicionesUsa df.drop(df.index[posición]) o reset_index() antes
El índice tiene huecos después de borrar filasdrop() conserva las etiquetas que quedanAñade .reset_index(drop=True)

Guías relacionadas

Descarga gratis

pandas drop() en una chuleta de 2 páginas

Eliminar filas y columnas, los parámetros, qué método usar en cada caso, inplace, errores comunes y prompts para ChatGPT, Claude o Copilot. Gratis, en PDF.

Chuleta de pandas drop()

2 páginas · PDF · 4Geeks

  • Recetas de drop() listas para copiar
  • drop(), dropna() o un filtro: cuál usar
  • Errores comunes y prompts para resolverlos con IA

Consíguela gratis

Tu PDF al instante

Preguntas frecuentes sobre pandas drop()

¿Quieres pasar de limpiar datos con pandas a construir aplicaciones con IA, con proyectos reales y mentores?

Ver la carrera de Ingeniería de IA