Wie finde ich Zeilen, die in einem Datenrahmen vorhanden sind, in einem anderen jedoch nicht (Vergleich von df1 und df2)?

Susan Sarandon
Freigeben: 2024-10-19 21:07:03
Original
575 Leute haben es durchsucht

How to Find Rows Present in One Dataframe but Not in Another (Comparing df1 and df2)?

Datenrahmen vergleichen: Zeilen finden, die in einem, aber nicht im anderen vorhanden sind

Der Vergleich von Datenrahmen zur Identifizierung von Unterschieden ist für die Qualitätssicherung und Zusammenführung von Daten von entscheidender Bedeutung Operationen. In diesem Fall haben wir zwei Datenrahmen (df1 und df2) mit einer bestimmten Struktur und müssen die in df2, aber nicht in df1 vorhandenen Zeilen ermitteln.

Zunächst führten Versuche, Datenrahmen mit df1 != df2 zu vergleichen, zu ein Fehler. Dieser Ansatz funktioniert nur für Datenrahmen mit identischen Zeilen und Spalten. Um symmetrische Unterschiede zu finden, benötigen wir einen anderen Ansatz.

Eine Methode besteht darin, die Datenrahmen zu verketten:

df = pd.concat([df1, df2])
df = df.reset_index(drop=True)
Nach dem Login kopieren

Anschließend wird der verkettete Datenrahmen nach allen Spalten gruppiert:

df_gpby = df.groupby(list(df.columns))
Nach dem Login kopieren

Als nächstes identifizieren wir die eindeutigen Datensätze, indem wir die Indexwerte erhalten, bei denen nur eine Zeile vorhanden ist:

idx = [x[0] for x in df_gpby.groups.values() if len(x) == 1]
Nach dem Login kopieren

Mithilfe dieser Indizes können wir den Datenrahmen filtern, um das gewünschte Ergebnis zu erhalten:

df.reindex(idx)
Nach dem Login kopieren

Dieser Ansatz liefert die Zeilen, die in df2 vorhanden sind, aber in df1 fehlen, basierend auf dem Vergleich des Datumsindex und der Fruchtspalte.

Das obige ist der detaillierte Inhalt vonWie finde ich Zeilen, die in einem Datenrahmen vorhanden sind, in einem anderen jedoch nicht (Vergleich von df1 und df2)?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!