Heim  >  Artikel  >  Backend-Entwicklung  >  Wie identifiziere ich Unterschiede zwischen zwei Datenrahmen in Python?

Wie identifiziere ich Unterschiede zwischen zwei Datenrahmen in Python?

Linda Hamilton
Linda HamiltonOriginal
2024-10-19 21:12:01156Durchsuche

How to Identify Differences Between Two Dataframes in Python?

Vergleichen zweier Datenrahmen, um Unterschiede zu identifizieren

Um zwei Datenrahmen, df1 und df2, zu vergleichen und die Unterschiede zwischen ihnen zu bestimmen, können die folgenden Schritte ausgeführt werden genommen werden:

Da der bereitgestellte Code df1 != df2 nur für Datenrahmen mit identischen Zeilen und Spalten anwendbar ist, ist ein alternativer Ansatz erforderlich. Die Verkettung der beiden Datenrahmen zu einem einzigen Datenrahmen, df, ermöglicht einen gründlicheren Vergleich.

<code class="python">import pandas as pd

df = pd.concat([df1, df2])</code>

Nach der Verkettung setzen Sie den Index von df zurück, um mögliche Indexkonflikte zu vermeiden.

<code class="python">df = df.reset_index(drop=True)</code>

Gruppieren Sie den Datenrahmen nach jeder Spalte, um eindeutige Datensätze zu identifizieren.

<code class="python">df_gpby = df.groupby(list(df.columns))</code>

Extrahieren Sie den Index eindeutiger Datensätze, wobei die Länge der Gruppe 1 beträgt.

<code class="python">idx = [x[0] for x in df_gpby.groups.values() if len(x) == 1]</code>

Filtern Sie den Datenrahmen basierend auf dem eindeutigen Index, um die Unterschiede zwischen df1 und df2 zu erhalten.

<code class="python">result = df.reindex(idx)</code>

Der resultierende Ergebnisdatenrahmen enthält die Zeilen, die sich in df2, aber nicht in df1 befinden.

Das obige ist der detaillierte Inhalt vonWie identifiziere ich Unterschiede zwischen zwei Datenrahmen in Python?. 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