Entfernen doppelter Zeilen basierend auf mehreren Spalten in Python Pandas
Die Funktion drop_duplicates in Pandas bietet eine effiziente Möglichkeit, doppelte Zeilen aus einem DataFrame zu entfernen . Was aber, wenn Sie Zeilen nur löschen möchten, wenn sie in einem bestimmten Satz von Spalten übereinstimmen?
Problem:
Betrachten Sie einen DataFrame mit den Spalten „A“, „ B“ und „C“. Sie möchten Zeilen entfernen, in denen die Werte in den Spalten „A“ und „C“ gleich sind. Mit anderen Worten, Sie müssen die Zeilen 0 und 1 aus diesem Beispiel-DataFrame identifizieren und löschen:
A | B | C | |
---|---|---|---|
0 | foo | 0 | A |
1 | foo | 1 | A |
2 | foo | 1 | B |
3 | bar | 1 | A |
Lösung:
Sie können dies jetzt ganz einfach mit dem erreichen Funktion „drop_duplicates“ und der Parameter „subset“:
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 Parameter „keep=“ gibt an, ob doppelte Zeilen gelöscht werden sollen, einschließlich des ersten Vorkommens. oder sie auszuschließen. Wenn Sie es auf „Falsch“ setzen, werden alle Duplikate gelöscht.
Das Ergebnis ist ein DataFrame, bei dem die Zeilen 0 und 1 entfernt wurden, sodass nur die eindeutigen Zeilen basierend auf den Spalten „A“ und „C“ übrig bleiben:
A | B | C | |
---|---|---|---|
0 | foo | 1 | B |
1 | bar | 1 | A |
Das obige ist der detaillierte Inhalt vonWie entferne ich doppelte Zeilen in Pandas basierend auf bestimmten Spalten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!