Ir al contenido principal

Tutorial de drop duplicates en pandas

Aprende a eliminar duplicados en Python con pandas.
Actualizado 17 sept 2026  · 4 min leer

Explorar con IA

ChatGPTClaudePerplexity

Eliminar duplicados es una habilidad clave para obtener recuentos precisos, porque a menudo no quieres contar lo mismo varias veces. En Python, puedes hacerlo con el módulo pandas, que incluye el método drop_duplicates.

Veamos cómo usarlo con algunos ejemplos.

Eliminar nombres duplicados

Imagina que tienes un dataframe con visitas al veterinario y la clínica quiere saber cuántos perros de cada raza han pasado por allí. Sin embargo, en tu conjunto de datos hay perros como Max y Stella que han ido al veterinario más de una vez. Por tanto, no puedes limitarte a contar las razas en la columna de raza.

print(vet_visits)
          date     name        breed  weight_kg
0   2018-09-02    Bella     Labrador      24.87
1   2019-06-07      Max     Labrador      28.35
2   2018-01-17   Stella    Chihuahua       1.51
3   2019-10-19     Lucy    Chow Chow      24.07
..         ...      ...          ...        ...
71  2018-01-20   Stella    Chihuahua       2.83
72  2019-06-07      Max    Chow Chow      24.01
73  2018-08-20     Lucy    Chow Chow      24.40
74  2019-04-22      Max     Labrador      28.54

Para resolverlo, eliminarías las filas que contienen un nombre de perro ya listado antes; es decir, extraerías una única fila por cada nombre.

Para ello, usarías el método drop_duplicates. Acepta el argumento subset, que indica la columna sobre la que queremos detectar duplicados; en este caso, queremos quedarnos con los nombres únicos.

vet_visits.drop_duplicates(subset="name")
          date     name        breed  weight_kg
0   2018-09-02    Bella     Labrador      24.87
1   2019-06-07      Max    Chow Chow      24.01
2   2019-03-19  Charlie       Poodle      24.95
3   2018-01-17   Stella    Chihuahua       1.51
4   2019-10-19     Lucy    Chow Chow      24.07
7   2019-03-30   Cooper    Schnauzer      16.91
10  2019-01-04   Bernie  St. Bernard      74.98
(6  2019-06-07      Max     Labrador      28.35)

Pero ¿y si hay perros con el mismo nombre?

Eliminar pares duplicados

En ese caso, debemos tener en cuenta algo más que name al eliminar duplicados. Como Max y Max son de razas distintas, podemos eliminar las filas que repitan pares de nombre y raza ya vistos antes en el dataset.

unique_dogs = vet_visits.drop_duplicates(subset=["name", "breed"])
print(unique_dogs)
          date     name        breed  weight_kg
0   2018-09-02    Bella     Labrador      24.87
1   2019-03-13      Max    Chow Chow      24.13
2   2019-03-19  Charlie       Poodle      24.95
3   2018-01-17   Stella    Chihuahua       1.51
4   2019-10-19     Lucy    Chow Chow      24.07
6   2019-06-07      Max     Labrador      28.35
7   2019-03-30   Cooper    Schnauzer      16.91
10  2019-01-04   Bernie  St. Bernard      74.98

Para basar la eliminación de duplicados en varias columnas, podemos pasar una lista de nombres de columna al argumento subset; en este caso, name y breed.

Ahora se han incluido ambos Max.

Ejemplo interactivo

En este ejercicio, crearás nuevos DataFrames con valores únicos de sales. sales está disponible y pandas está importado como pd.

Realizarás estos pasos:

  • Primero, eliminarás de sales las filas con pares duplicados de store y type, guardarás el resultado como store_types y mostrarás el head.
  • Después, eliminarás de sales las filas con pares duplicados de store y department, guardarás el resultado como store_depts y mostrarás el head.
  • Filtra las filas que correspondan a semanas festivas y elimina las date duplicadas, guardándolo como holiday_dates.
  • Por último, selecciona la columna date de holiday_dates y muestra el dataframe holiday_dates.
# Drop duplicate store/type combinations
store_types = sales.drop_duplicates(subset=["store", "type"])
print(store_types.head())

# Drop duplicate store/department combinations
store_depts = sales.drop_duplicates(subset=["store", "department"])
print(store_depts.head())

# Subset the rows that are holiday weeks and drop duplicate dates
holiday_dates = sales[sales["is_holiday"]].drop_duplicates(subset="date")

# Print date col of holiday_dates
print(holiday_dates["date"])

Al ejecutar el código anterior, se obtiene el siguiente resultado:

      store type  department       date  weekly_sales  is_holiday  temperature_c  fuel_price_usd_per_l  unemployment
0         1    A           1 2010-02-05      24924.50       False          5.728                 0.679         8.106
901       2    A           1 2010-02-05      35034.06       False          4.550                 0.679         8.324
1798      4    A           1 2010-02-05      38724.42       False          6.533                 0.686         8.623
2699      6    A           1 2010-02-05      25619.00       False          4.683                 0.679         7.259
3593     10    B           1 2010-02-05      40212.84       False         12.411                 0.782         9.765
    store type  department       date  weekly_sales  is_holiday  temperature_c  fuel_price_usd_per_l  unemployment
0       1    A           1 2010-02-05      24924.50       False          5.728                 0.679         8.106
12      1    A           2 2010-02-05      50605.27       False          5.728                 0.679         8.106
24      1    A           3 2010-02-05      13740.12       False          5.728                 0.679         8.106
36      1    A           4 2010-02-05      39954.04       False          5.728                 0.679         8.106
48      1    A           5 2010-02-05      32229.38       False          5.728                 0.679         8.106
498    2010-09-10
691    2011-11-25
2315   2010-02-12
6735   2012-09-07
6810   2010-12-31
6815   2012-02-10
6820   2011-09-09
Name: date, dtype: datetime64[ns]

Pruébalo tú mismo.

Si quieres aprender más sobre recuentos y agregaciones de datos, echa un vistazo a este vídeo de nuestro curso Data Manipulation with pandas.

Este contenido forma parte del curso Data Manipulation with pandas de DataCamp, creado por Maggie Matsui y Richie Cotton.

Temas
Python

Aprende más sobre Python y pandas

Curso

Manipulación de datos con pandas

4 h
563.9K
Aprende a importar y limpiar datos, calcular estadísticas y crear visualizaciones con pandas.
Ver detallesRight Arrow
Iniciar Curso
Ver másRight Arrow
Relacionado

Tutorial

Tutorial de unión de DataFrames en pandas

En este tutorial, usted aprenderá varias maneras en las que múltiples DataFrames pueden ser fusionados en python usando la librería Pandas.
DataCamp Team's photo

DataCamp Team

13 min

Tutorial

Tutorial de pandas en Python: La guía definitiva para principiantes

¿Estás preparado para comenzar tu viaje de pandas? Aquí tienes una guía paso a paso sobre cómo empezar.
Vidhi Chugh's photo

Vidhi Chugh

15 min

data-frames-in-python-banner_cgzjxy.jpeg

Tutorial

Tutorial de Pandas: DataFrames en Python

Explora el análisis de datos con Python. Los DataFrames de Pandas facilitan la manipulación de tus datos, desde la selección o sustitución de columnas e índices hasta la remodelación de tus datos.
Karlijn Willems's photo

Karlijn Willems

15 min

Tutorial

Tutorial sobre coincidencia difusa de cadenas en Python

En este tutorial, aprenderás a comparar cadenas de forma aproximada y a determinar su grado de similitud mediante varios ejemplos.
Kurtis Pykes 's photo

Kurtis Pykes

11 min

Tutorial

Tutorial seleccionar columnas con Python

Utiliza Python Pandas y selecciona columnas de los DataFrames. ¡Sigue nuestro tutorial con ejemplos de código y aprende hoy mismo distintas formas de seleccionar tus datos!
DataCamp Team's photo

DataCamp Team

7 min

Tutorial

Tutorial de Python String format()

Aprende a formatear cadenas en Python.
DataCamp Team's photo

DataCamp Team

5 min

Ver MásVer Más