Wie vergleiche ich DataFrames für Unterschiede in Zeilen?

Mary-Kate Olsen
Freigeben: 2024-10-19 21:13:29
Original
192 Leute haben es durchsucht

How to Compare DataFrames for Differences in Rows?

Vergleichen von Datenrahmen auf Unterschiede in Zeilen

Beim Vergleich zweier Datenrahmen mit identischen Zeilen und Spalten wird die einfache Vergleichsoperation (df1 != df2) verwendet. ist ausreichend. Wenn die Datenrahmen jedoch unterschiedliche Zeilensätze haben, ist ein anderer Ansatz erforderlich, um die Unterschiede zu identifizieren.

Concat, Group und Filter

Eine Methode zum Vergleichen von Datenrahmen Zeilenunterschiede bestehen darin, sie zu verketten, nach Spalten zu gruppieren und die eindeutigen Zeilen zu filtern. Der folgende Code veranschaulicht dies:

<code class="python">df = pd.concat([df1, df2])
df = df.reset_index(drop=True)
df_gpby = df.groupby(list(df.columns))
idx = [x[0] for x in df_gpby.groups.values() if len(x) == 1]
result = df.reindex(idx)</code>
Nach dem Login kopieren

Der verkettete Datenrahmen (df) wird nach allen seinen Spalten (df_gpby) gruppiert. Die Methode „groups.values()“ gibt eine Iterable von Tupeln zurück, wobei jedes Tupel die Indizes eindeutiger Zeilen darstellt. Das Filtern der Tupel nach Länge (len(x) == 1) identifiziert die Zeilen, die nur in einem Datenrahmen vorhanden sind. Abschließend wird durch die Neuindizierung des Datenrahmens mit den gefilterten Indizes (idx) ein Datenrahmen erstellt, der die Zeilenunterschiede enthält.

Beispielausgabe

Unter Verwendung der bereitgestellten Beispieldatenrahmen:

>>> result
         Date   Fruit   Num   Color
9  2013-11-25  Orange   8.6  Orange
8  2013-11-25   Apple  22.1     Red
Nach dem Login kopieren

Diese Ausgabe zeigt die Zeilen, die sich in df2, aber nicht in df1 befinden.

Das obige ist der detaillierte Inhalt vonWie vergleiche ich DataFrames für Unterschiede in Zeilen?. 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!