Duplicaten vinden in pandas dataframe (met voorbeelden)
U kunt de functie duplicated() gebruiken om dubbele waarden te vinden in een pandas DataFrame.
Deze functie gebruikt de volgende basissyntaxis:
#find duplicate rows across all columns duplicateRows = df[df. duplicated ()] #find duplicate rows across specific columns duplicateRows = df[df. duplicated ([' col1 ',' col2 '])]
De volgende voorbeelden laten zien hoe u deze functie in de praktijk kunt gebruiken met de volgende panda’s DataFrame:
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
Voorbeeld 1: Vind dubbele rijen in alle kolommen
De volgende code laat zien hoe u dubbele rijen in alle kolommen van het DataFrame kunt vinden:
#identify duplicate rows
duplicateRows = df[df. duplicated ()]
#view duplicate rows
duplicateRows
team points assists
1 to 10 5
7 B 20 6
Er zijn twee rijen die exacte duplicaten zijn van andere rijen in het DataFrame.
Merk op dat we ook het keep=’last‘ argument kunnen gebruiken om de eerste dubbele regels weer te geven in plaats van de laatste:
#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
Voorbeeld 2: Zoek dubbele rijen in specifieke kolommen
De volgende code laat zien hoe u alleen dubbele rijen kunt vinden in de kolommen ‚team‘ en ‚punten‘ van het 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
Er zijn drie rijen waarbij de waarden in de kolommen ‘team’ en ‘punten’ exacte kopieën zijn van de voorgaande rijen.
Voorbeeld 3: Zoek dubbele rijen in een kolom
De volgende code laat zien hoe u alleen dubbele rijen kunt vinden in de kolom ‚team‘ van het 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
Er zijn in totaal zes rijen waarbij de waarden in de kolom ‘team’ exacte duplicaten zijn van de voorgaande rijen.
Aanvullende bronnen
In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende bewerkingen in panda’s kunt uitvoeren:
Hoe dubbele rijen in Panda’s te verwijderen
Hoe dubbele kolommen in Pandas te verwijderen
Hoe u kolommen op index selecteert in Pandas