Come trovare duplicati in pandas dataframe (con esempi)


Puoi utilizzare la funzione duplicated() per trovare valori duplicati in un DataFrame panda.

Questa funzione utilizza la seguente sintassi di base:

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

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

I seguenti esempi mostrano come utilizzare in pratica questa funzione con i seguenti DataFrame panda:

 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

Esempio 1: trova righe duplicate in tutte le colonne

Il codice seguente mostra come trovare righe duplicate in tutte le colonne del DataFrame:

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

#view duplicate rows
duplicateRows

        team points assists
1 to 10 5
7 B 20 6

Esistono due righe che sono duplicati esatti di altre righe nel DataFrame.

Nota che possiamo anche usare l’argomento keep=’last’ per visualizzare le prime righe duplicate invece dell’ultima:

 #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

Esempio 2: trova righe duplicate in colonne specifiche

Il codice seguente mostra come trovare righe duplicate solo nelle colonne “team” e “points” del 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

Ci sono tre righe in cui i valori nelle colonne “squadra” e “punti” sono copie esatte delle righe precedenti.

Esempio 3: trova righe duplicate in una colonna

Il codice seguente mostra come trovare righe duplicate solo nella colonna “team” del 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

Ci sono sei righe in totale in cui i valori nella colonna “team” sono duplicati esatti delle righe precedenti.

Risorse addizionali

I seguenti tutorial spiegano come eseguire altre operazioni comuni nei panda:

Come rimuovere le righe duplicate in Pandas
Come rimuovere le colonne duplicate in Pandas
Come selezionare le colonne per indice in Pandas

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *