Jak usunąć zduplikowane wiersze w ramce danych pandas
Najłatwiejszym sposobem usunięcia zduplikowanych wierszy w ramce DataFrame pand jest użycie funkcji drop_duplicates() , która wykorzystuje następującą składnię:
df.drop_duplicates(subset=Brak, keep=’pierwszy’, inplace=False)
Złoto:
- podzbiór: które kolumny należy wziąć pod uwagę, aby zidentyfikować duplikaty. Wartość domyślna to wszystkie kolumny.
- keep: Określa, które duplikaty (jeśli w ogóle) mają zostać zachowane.
- pierwszy: Usuń wszystkie zduplikowane linie z wyjątkiem pierwszej.
- last: usuwa wszystkie zduplikowane linie z wyjątkiem ostatniej.
- Fałsz : Usuń wszystkie duplikaty.
- inplace: wskazuje, czy usunąć duplikaty w miejscu, czy zwrócić kopię ramki DataFrame.
W tym samouczku przedstawiono kilka przykładów praktycznego wykorzystania tej funkcji w następującej ramce DataFrame:
import pandas as pd #createDataFrame df = pd. DataFrame ({'team': ['a', 'b', 'b', 'c', 'c', 'd'], 'points': [3, 7, 7, 8, 8, 9], 'assists': [8, 6, 7, 9, 9, 3]}) #display DataFrame print (df) team points assists 0 to 3 8 1 b 7 6 2 b 7 7 3 c 8 9 4 c 8 9 5 d 9 3
Przykład 1: Usuń duplikaty we wszystkich kolumnach
Poniższy kod pokazuje, jak usunąć wiersze ze zduplikowanymi wartościami we wszystkich kolumnach:
df. drop_duplicates ()
team points assists
0 to 3 8
1 b 7 6
2 b 7 7
3 c 8 9
5 d 9 3
Domyślnie funkcja drop_duplicates() usuwa wszystkie duplikaty z wyjątkiem pierwszego.
Możemy jednak użyć argumentu keep=False, aby całkowicie usunąć wszystkie duplikaty:
df. drop_duplicates (keep= False ) team points assists 0 to 3 8 1 b 7 6 2 b 7 7 5 d 9 3
Przykład 2: Usuń duplikaty w określonych kolumnach
Poniższy kod pokazuje jak usunąć wiersze ze zduplikowanymi wartościami tylko w kolumnach oznaczonych jako zespół i punkty :
df. drop_duplicates (subset=[' team ', ' points ']) team points assists 0 to 3 8 1 b 7 6 3 c 8 9 5 d 9 3
Dodatkowe zasoby
Jak usunąć zduplikowane kolumny w Pandach
Jak sortować wartości w Pandas DataFrame
Jak filtrować ramkę danych Pandas pod wieloma warunkami
Jak wstawić kolumnę do ramki danych Pandas