Heim  >  Artikel  >  Backend-Entwicklung  >  Wie entferne ich doppelte Zeilen basierend auf Indizes in Pandas?

Wie entferne ich doppelte Zeilen basierend auf Indizes in Pandas?

Barbara Streisand
Barbara StreisandOriginal
2024-11-13 05:13:02186Durchsuche

How to Remove Duplicate Rows Based on Indices 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!

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