Heim  >  Artikel  >  Backend-Entwicklung  >  Wie identifiziere ich alle doppelten Zeilen in einem Pandas-DataFrame?

Wie identifiziere ich alle doppelten Zeilen in einem Pandas-DataFrame?

Barbara Streisand
Barbara StreisandOriginal
2024-10-25 15:15:02986Durchsuche

How to Identify All Duplicate Rows in a Pandas DataFrame?

Wie erhalte ich eine Liste aller doppelten Elemente mit Pandas in Python?

Problem:

Ihr Pandas DataFrame enthält doppelte Zeilen, aber die Verwendung der duplizierten()-Methode gibt nur die erste doppelte Instanz zurück. Sie möchten eine umfassende Liste aller Vorkommen doppelter Zeilen zum manuellen Vergleich.

Lösung 1: Zeilen mit doppelten IDs isolieren

  1. Pandas als PD importieren.
  2. Lesen Sie Ihre Daten in eine DataFrame-DF.
  3. Extrahieren Sie die ID-Spalte in eine separate Serien-ID.
  4. Filtern Sie df basierend darauf, ob der ID-Wert mit einer der doppelten IDs in übereinstimmt ids[ids.duplicated()]:
<code class="python">df[ids.isin(ids[ids.duplicated()])].sort_values("ID")</code>

Während diese Methode effektiv alle doppelten Zeilen abruft, erstellt sie doppelte ID-Zeilen in der Ausgabe.

Lösung 2 : Nach ID gruppieren und nach Duplikaten filtern

  1. Verwenden Sie groupby("ID") auf df, um Zeilen nach ihren ID-Werten zu gruppieren.
  2. Filtern Sie die resultierenden Gruppen, um sie nur beizubehalten diejenigen mit mehr als einer Zeile:
<code class="python">pd.concat(g for _, g in df.groupby("ID") if len(g) > 1)</code>

Dieser Ansatz führt zu einer optimierten Ausgabe ohne redundante ID-Zeilen.

Das obige ist der detaillierte Inhalt vonWie identifiziere ich alle doppelten Zeilen in einem Pandas-DataFrame?. 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