Heim  >  Artikel  >  Backend-Entwicklung  >  So vergleichen und zeigen Sie Datenrahmenunterschiede effektiv mit Python an

So vergleichen und zeigen Sie Datenrahmenunterschiede effektiv mit Python an

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-10-22 20:10:39325Durchsuche

How to Compare and Display Dataframe Differences Effectively Using Python

Datenrahmenunterschiede effektiv vergleichen und anzeigen

Einführung

Die Unterschiede zwischen zwei identifizieren und verstehen Datenrahmen sind eine häufige Aufgabe in der Datenanalyse. Ganz gleich, ob es darum geht, historische Daten mit aktuellen Trends zu vergleichen oder Änderungen in einer Datenbank zu verfolgen, die Fähigkeit, diese Änderungen genau hervorzuheben, ist entscheidend.

Problemstellung

Angenommen, wir haben zwei Datenrahmen Enthält Informationen zum Studentenverzeichnis aus zwei verschiedenen Monaten: „StudentRoster Jan-1“ und „StudentRoster Jan-2“. Unser Ziel ist es, eine HTML-Tabelle zu erstellen, die die Änderungen zwischen diesen beiden Datenrahmen deutlich anzeigt und sowohl neue als auch alte Werte für jede Zeile anzeigt.

Lösung

Identifizieren geänderter Zeilen

Der erste Schritt besteht darin, festzustellen, welche Zeilen sich tatsächlich geändert haben. Wir können die Funktion any() verwenden, um jede Zeile auf Unterschiede zu überprüfen:

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

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

Dies gibt eine boolesche Reihe zurück, wobei „True“ eine geänderte Zeile angibt.

Geänderte Werte extrahieren

Als nächstes müssen wir die tatsächlich geänderten Werte extrahieren. Wir verwenden die Methode .stack(), um den Datenrahmen in eine einzelne Spalte umzuwandeln, und filtern dann diese Spalte nach den geänderten Werten:

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

Dadurch erhalten wir den Index und die Spaltennamen der geänderten Werte.

Vorherige und neue Werte extrahieren

Mithilfe des Index aus den geänderten Werten können wir die vorherigen und neuen Werte für jeden geänderten Eintrag extrahieren:

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

Erstellen der HTML-Tabelle

Schließlich können wir die HTML-Tabelle erstellen, indem wir die extrahierten Werte kombinieren:

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

Dieser Datenrahmen enthält zwei Spalten: „von“ und „bis“, die die ursprünglichen und neuen Werte für jeden geänderten Eintrag anzeigen. Der Index des Datenrahmens identifiziert die Zeile und Spalte, in der die Änderung aufgetreten ist.

Durch die Anzeige der geänderten Werte und ihrer vorherigen und neuen Werte nebeneinander bietet diese HTML-Tabelle einen klaren und umfassenden Überblick über die Änderungen zwischen den beiden Datenrahmen.

Das obige ist der detaillierte Inhalt vonSo vergleichen und zeigen Sie Datenrahmenunterschiede effektiv mit Python an. 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