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