Pular para o conteúdo principal

Tutorial: como remover duplicados no pandas

Aprenda a remover duplicados em Python usando pandas.
Atualizado 17 de set. de 2026  · 4 min lido

Explorar com IA

ChatGPTClaudePerplexity

Remover duplicados é uma habilidade essencial para obter contagens precisas, porque você geralmente não quer contar a mesma coisa várias vezes. Em Python, isso pode ser feito com o módulo pandas, que tem um método chamado drop_duplicates.

Vamos entender como usá-lo com a ajuda de alguns exemplos.

Removendo nomes duplicados

Imagine que você tem um dataframe com visitas ao veterinário e o consultório quer saber quantos cães de cada raça passaram por lá. Porém, existem cães como Max e Stella que foram ao veterinário mais de uma vez no seu conjunto de dados. Por isso, você não pode simplesmente contar o número de cada raça na coluna de raças.

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 resolver isso, você removeria as linhas que contêm um nome de cão já listado anteriormente; em outras palavras, extrairia apenas um cão de cada nome do dataset.

Você faz isso usando o método drop_duplicates. Ele recebe o argumento subset, que é a coluna na qual queremos buscar duplicatas — neste caso, queremos todos os nomes ú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)

Mas e se houver cães com o mesmo nome?

Removendo pares duplicados

Nesse caso, precisamos considerar mais do que apenas o name ao remover duplicados. Como Max e Max são de raças diferentes, podemos remover as linhas com pares de nome e raça que já apareceram antes no 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 basear a remoção de duplicados em várias colunas, podemos passar uma lista de nomes de colunas para o argumento subset — neste caso, name e breed.

Agora os dois Max foram incluídos.

Exemplo interativo

Neste exercício, você vai criar alguns novos DataFrames usando valores únicos de sales. sales está disponível e o pandas foi importado como pd.

Você fará o seguinte:

  • Primeiro, remover as linhas de sales com pares duplicados de store e type, salvar como store_types e imprimir o head.
  • Depois, remover as linhas de sales com pares duplicados de store e department, salvar como store_depts e imprimir o head.
  • Filtrar as linhas que são semanas de feriado e remover datas duplicadas, salvando como holiday_dates.
  • Por fim, selecionar a coluna date de holiday_dates e imprimir o 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"])

Ao executar o código acima, obtemos o seguinte 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]

Experimente você mesmo.

Para saber mais sobre contagem e agregação de dados, confira este vídeo do nosso curso Data Manipulation with pandas.

Este conteúdo foi extraído do curso Data Manipulation with pandas da DataCamp, por Maggie Matsui e Richie Cotton.

Tópicos
Python

Saiba mais sobre Python e pandas

Curso

Manipulação de dados com pandas

4 h
563.9K
Saiba como importar, tratar dados, calcular estatísticas e criar visualizações com o pandas.
Ver detalhesRight Arrow
Iniciar Curso
Ver maisRight Arrow
Relacionado

Tutorial

Tutorial do Python pandas: O guia definitivo para iniciantes

Você está pronto para começar sua jornada com os pandas? Aqui está um guia passo a passo sobre como você pode começar.
Vidhi Chugh's photo

Vidhi Chugh

15 min

Tutorial

Tutorial de junção de DataFrames no pandas

Neste tutorial, você aprenderá várias maneiras pelas quais vários DataFrames podem ser mesclados em python usando a biblioteca Pandas.
DataCamp Team's photo

DataCamp Team

13 min

Tutorial

Tutorial de seleção de colunas em Python

Use o Python Pandas e selecione colunas de DataFrames. Siga nosso tutorial com exemplos de código e aprenda diferentes maneiras de selecionar seus dados hoje mesmo!
DataCamp Team's photo

DataCamp Team

7 min

data-frames-in-python-banner_cgzjxy.jpeg

Tutorial

Pandas Tutorial: DataFrames em Python

Explore a análise de dados com Python. Os DataFrames do Pandas facilitam a manipulação de seus dados, desde a seleção ou substituição de colunas e índices até a remodelagem dos dados.
Karlijn Willems's photo

Karlijn Willems

15 min

Tutorial

Tutorial de manipulação de dados categóricos de aprendizado de máquina com Python

Aprenda os truques comuns para lidar com dados categóricos e pré-processá-los para criar modelos de aprendizado de máquina!
Moez Ali's photo

Moez Ali

14 min

Tutorial

Tutorial sobre loops for em Python

Aprenda a usar loops “for” em Python pra iterar uma sequência ou as linhas e colunas de um DataFrame pandas.
Aditya Sharma's photo

Aditya Sharma

5 min

Ver MaisVer Mais