Heim > Artikel > Backend-Entwicklung > Wie entferne ich doppelte Zeilen basierend auf Indizes in Pandas?
So entfernen Sie doppelte Zeilen basierend auf Indizes in Pandas
Bei der Datenanalyse ist es häufig erforderlich, doppelte Zeilen innerhalb eines zu identifizieren und zu entfernen Datensatz. Bei der Arbeit mit Pandas, einer beliebten Python-Bibliothek zur Datenbearbeitung, kann es vorkommen, dass mehrere Zeilen identische Indexwerte verwenden. Dieses Problem kann aus Gründen wie Dateneingabefehlern oder unbeabsichtigten Duplikaten auftreten.
Beispiel für doppelte Zeilen
Bedenken Sie den folgenden Wetter-DataFrame, der stündlich erfasste Beobachtungen darstellt Intervalle:
Sta Precip1hr Precip5min Temp DewPnt WindSpd WindDir AtmPress Date 2001-01-01 00:00:00 KPDX 0 0 4 3 0 0 30.31 2001-01-01 00:05:00 KPDX 0 0 4 3 0 0 30.30 2001-01-01 00:10:00 KPDX 0 0 4 3 4 80 30.30 2001-01-01 00:15:00 KPDX 0 0 3 2 5 90 30.30 2001-01-01 00:20:00 KPDX 0 0 3 2 10 110 30.28
Beachten Sie in diesem DataFrame, dass die Beobachtung für „2001-01-01 00:00:00“ am Ende des DataFrame dupliziert ist. Um die Daten zu bereinigen, ist es wichtig, diese doppelten Zeilen zu entfernen.
Verwendung der duplizierten Methode
Pandas bietet eine effiziente Methode namens „dupliziert“ zum Identifizieren und Auswählen doppelter Zeilen. Diese Methode berücksichtigt doppelte Zeilen basierend auf allen Spalten im DataFrame. Durch Übergabe des Keep-Parameters können Sie angeben, ob das erste oder letzte Vorkommen jeder Duplikatgruppe beibehalten werden soll.
In diesem Fall möchten wir das erste Vorkommen jeder Duplikatgruppe basierend auf dem Index behalten:
df3 = df3[~df3.index.duplicated(keep='first')]
Dieser Ansatz nutzt die duplizierte Methode des Pandas-Indexobjekts, die direkt auf die Indizes des DataFrame einwirkt. Indem wir das Ergebnis mit ~ negieren, wählen wir Zeilen aus, die nicht als Duplikate markiert sind. Durch die Angabe von keep='first' wird sichergestellt, dass wir die erste Instanz jeder doppelten Indexgruppe beibehalten.
Überlegungen zur Leistung
Es ist wichtig zu beachten, dass die Leistung verschiedener Methoden unterschiedlich ist Die Vorgehensweise zum Entfernen doppelter Zeilen hängt von den Daten und den spezifischen Bedingungen ab. Benchmarking zeigt, dass die duplizierte Methode für das gegebene Beispiel die leistungsstärkste ist, gefolgt von der Groupby-Methode und reset_index().drop_duplicates().
Das obige ist der detaillierte Inhalt vonWie entferne ich doppelte Zeilen basierend auf Indizes in Pandas?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!