Heim >Backend-Entwicklung >Python-Tutorial >Wie kann ich doppelte Zeilen in bestimmten Spalten in Pandas effizient entfernen?

Wie kann ich doppelte Zeilen in bestimmten Spalten in Pandas effizient entfernen?

DDD
DDDOriginal
2024-12-12 19:39:16319Durchsuche

How Can I Efficiently Remove Duplicate Rows Across Specific Columns in Pandas?

Duplikate Zeilen über mehrere Spalten in Python Pandas löschen

Die Pandas-Funktion drop_duplicates entfernt doppelte Zeilen aus einem DataFrame, einem unschätzbar wertvollen Tool zur Datenbereinigung . Um diese Funktionalität zu erweitern, kann man die Spalten angeben, die auf Eindeutigkeit überprüft werden sollen.

Betrachten Sie beispielsweise den folgenden DataFrame:

    A   B   C
0   foo 0   A
1   foo 1   A
2   foo 1   B
3   bar 1   A

Angenommen, Sie möchten Zeilen entfernen, die identische Werte in Spalten haben „A“ und „C.“ In diesem Fall würden die Zeilen 0 und 1 eliminiert.

Zuvor erforderte diese Aufgabe eine manuelle Filterung oder komplexe Vorgänge. Mit der erweiterten Funktion drop_duplicates von Pandas ist dies jedoch jetzt ein Kinderspiel. Durch die Einführung des Keep-Parameters können Sie steuern, wie mit Duplikaten umgegangen wird.

Um Zeilen zu löschen, die in bestimmten Spalten übereinstimmen, verwenden Sie den Subset-Parameter. Indem Sie „keep“ auf „False“ setzen, weisen Sie Pandas an, alle doppelten Zeilen zu entfernen:

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)

Ausgabe:

    A   B   C
2   foo 1   B
3   bar 1   A

Wie Sie sehen können, wurden die Zeilen 0 und 1 erfolgreich entfernt, sodass nur noch übrig sind die Zeilen, die basierend auf den Werten in den Spalten „A“ und „C“ eindeutig sind.

Das obige ist der detaillierte Inhalt vonWie kann ich doppelte Zeilen in bestimmten Spalten in Pandas effizient entfernen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn