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

Wie vergleiche ich Pandas-DataFrames und visualisiere Unterschiede?

Mary-Kate Olsen
Freigeben: 2024-10-22 20:45:19
Original
1020 Leute haben es durchsucht

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>
Nach dem Login kopieren

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>
Nach dem Login kopieren

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>
Nach dem Login kopieren

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>
Nach dem Login kopieren

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!

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