Entfernen von Duplikaten über mehrere Spalten hinweg in Python Pandas
Die Funktion drop_duplicates in Pandas bietet eine praktische Möglichkeit, doppelte Zeilen basierend auf angegebenen Spalten zu entfernen. Was aber, wenn Sie Duplikate nicht in einer einzelnen Spalte, sondern in einer Teilmenge mehrerer Spalten löschen möchten?
Um dies zu erreichen, können wir die Leistungsfähigkeit von drop_duplicates zusammen mit dem Subset-Parameter nutzen. Indem Sie die Liste der Spalten angeben, in denen nach Duplikaten gesucht werden soll, können Sie sicherstellen, dass Zeilen, die in jeder Kombination dieser Spalten übereinstimmen, eliminiert werden.
Betrachten Sie das folgende Beispiel:
A B C 0 foo 0 A 1 foo 1 A 2 foo 1 B 3 bar 1 A
Unser Ziel ist um Zeilen zu löschen, die in den Spalten A und C übereinstimmen. Dadurch würden die Zeilen 0 und 1 entfernt, da sie in beiden Spalten die gleichen Werte haben.
Verwenden drop_duplicates, wir können dies mit dem folgenden Code erreichen:
import pandas as pd df = pd.DataFrame({"A":["foo", "foo", "foo", "bar"], "B":[0,1,1,1], "C":["A","A","B","A"]}) df.drop_duplicates(subset=['A', 'C'], keep=False)
Der Subset-Parameter gibt die Spalten an, die für die Duplikaterkennung verwendet werden sollen. Der auf False gesetzte Keep-Parameter stellt sicher, dass alle doppelten Zeilen entfernt werden.
Der resultierende DataFrame sieht wie folgt aus:
A B C 0 foo 0 A 2 foo 1 B 3 bar 1 A
Zeilen 0 und 1 wurden gelöscht, weil sie übereinstimmten sowohl A als auch C, wodurch der DataFrame basierend auf diesen Spalten effektiv vereinheitlicht wird.
Das obige ist der detaillierte Inhalt vonWie entferne ich doppelte Zeilen über mehrere Spalten in Pandas?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!