Como encontrar duplicatas no pandas dataframe (com exemplos)


Você pode usar a função duplicada() para encontrar valores duplicados em um DataFrame do pandas.

Esta função usa a seguinte sintaxe básica:

 #find duplicate rows across all columns
duplicateRows = df[df. duplicated ()]

#find duplicate rows across specific columns
duplicateRows = df[df. duplicated ([' col1 ',' col2 '])]

Os exemplos a seguir mostram como usar esta função na prática com o seguinte DataFrame do pandas:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'],
                   ' points ': [10, 10, 12, 12, 15, 17, 20, 20],
                   ' assists ': [5, 5, 7, 9, 12, 9, 6, 6]})

#view DataFrame
print (df)

  team points assists
0 to 10 5
1 to 10 5
2 to 12 7
3 to 12 9
4 B 15 12
5 B 17 9
6 B 20 6
7 B 20 6

Exemplo 1: Encontre linhas duplicadas em todas as colunas

O código a seguir mostra como encontrar linhas duplicadas em todas as colunas do DataFrame:

 #identify duplicate rows
duplicateRows = df[df. duplicated ()]

#view duplicate rows
duplicateRows

        team points assists
1 to 10 5
7 B 20 6

Existem duas linhas que são duplicatas exatas de outras linhas no DataFrame.

Observe que também podemos usar o argumento keep=’last’ para exibir as primeiras linhas duplicadas em vez das últimas:

 #identify duplicate rows
duplicateRows = df[df. duplicated (keep=' last ')]

#view duplicate rows
print (duplicateRows)

	team points assists
0 to 10 5
6 B 20 6

Exemplo 2: Encontre linhas duplicadas em colunas específicas

O código a seguir mostra como encontrar linhas duplicadas apenas nas colunas “equipe” e “pontos” do DataFrame:

 #identify duplicate rows across 'team' and 'points' columns
duplicateRows = df[df. duplicated ([' team ',' points '])]

#view duplicate rows
print (duplicateRows)

        team points assists
1 to 10 5
3 to 12 9
7 B 20 6

Existem três linhas onde os valores nas colunas “equipe” e “pontos” são cópias exatas das linhas anteriores.

Exemplo 3: Encontre linhas duplicadas em uma coluna

O código a seguir mostra como encontrar linhas duplicadas apenas na coluna “team” do DataFrame:

 #identify duplicate rows in 'team' column
duplicateRows = df[df. duplicated ([' team '])]

#view duplicate rows
print (duplicateRows)

	team points assists
1 to 10 5
2 to 12 7
3 to 12 9
5 B 17 9
6 B 20 6
7 B 20 6

Existem seis linhas no total onde os valores na coluna “equipe” são duplicatas exatas das linhas anteriores.

Recursos adicionais

Os tutoriais a seguir explicam como realizar outras operações comuns em pandas:

Como remover linhas duplicadas no Pandas
Como remover colunas duplicadas no Pandas
Como selecionar colunas por índice no Pandas

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *