Heim  >  Artikel  >  Backend-Entwicklung  >  Wie vergleiche ich Pandas-DataFrames und visualisiere Unterschiede?

Wie vergleiche ich Pandas-DataFrames und visualisiere Unterschiede?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-10-22 20:45:19915Durchsuche

How to Compare Pandas DataFrames and Visualize Differences?

Vergleichen von Datenrahmen und Visualisieren von Unterschieden durch direkten Vergleich

Bei zwei Pandas-Datenrahmen besteht die Aufgabe darin, die Änderungen zu identifizieren und darzustellen zwischen ihnen in einem benutzerfreundlichen Format. Das Ziel besteht darin, eine HTML-Tabelle auszugeben, die die geänderten Zeilen visuell hervorhebt und sowohl die ursprünglichen als auch die aktualisierten Werte anzeigt.

Zeilenänderungen identifizieren

Um dies zu erreichen, Es ist notwendig, die Zeilen zu ermitteln, die sich geändert haben. Dies kann durch die Verwendung der ne-Operation (nicht gleich) erreicht werden, die eine boolesche Maske für alle Elemente zurückgibt, bei denen sich die entsprechenden Werte in zwei Datenrahmen unterscheiden.

<code class="python">ne = (df1 != df2).any(1)</code>

Lokalisieren geänderter Einträge

Sobald die Zeilen mit Änderungen identifiziert wurden, können die spezifischen Einträge, die geändert wurden, mithilfe der Funktion stack() lokalisiert werden. Durch Filtern des gestapelten Ergebnisses basierend auf der booleschen Maske wird es möglich, die geänderten Einträge zu extrahieren.

<code class="python">changed = (df1 != df2).stack()[ne_stacked]
changed.index.names = ['id', 'col']</code>

Geänderte Werte extrahieren

Als nächstes das Original und aktualisierte Werte können mit der Where-Funktion extrahiert werden. Dies ermöglicht die Erstellung eines DataFrame, der die Änderungen zusammenfasst, wobei die Spalten „von“ und „bis“ die ursprünglichen bzw. geänderten Werte darstellen.

<code class="python">difference_locations = np.where(df1 != df2)
changed_from = df1.values[difference_locations]
changed_to = df2.values[difference_locations]</code>

HTML-Tabelle generieren

Abschließend können die extrahierten Änderungen in einer HTML-Tabelle organisiert werden, um die Unterschiede zwischen den beiden Datenrahmen zu visualisieren. Diese Tabelle kann mit jeder HTML-Rendering-Engine gerendert werden, beispielsweise mit der to_html-Methode von Pandas, um einen benutzerfreundlichen direkten Vergleich zu ermöglichen.

<code class="python">pd.DataFrame({'from': changed_from, 'to': changed_to}, index=changed.index).to_html()</code>

Das obige ist der detaillierte Inhalt vonWie vergleiche ich Pandas-DataFrames und visualisiere Unterschiede?. 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