Heim > Artikel > Backend-Entwicklung > Wie kann man DataFrames für eine detaillierte Änderungsanalyse effizient nebeneinander vergleichen?
Vergleichen Sie Datenrahmen nebeneinander für eine umfassende Änderungsanalyse
Um Diskrepanzen zwischen zwei Datenrahmen hervorzuheben, gibt es eine effiziente Methode, die diese Notwendigkeit beseitigt für aufwendige zeilenweise und spaltenweise Vergleiche. Durch die Nutzung spezifischer Python Pandas-Funktionen ist es möglich, Änderungen in verschiedenen Datentypen (z. B. int, float, boolean, string) zu lokalisieren und sie in einem intuitiven HTML-Tabellenformat darzustellen.
Stellen Sie zunächst fest, ob welche vorhanden sind Zeilen wurden mit der booleschen Funktion (df1 != df2).any(1) geändert. Um als Nächstes bestimmte Einträge zu identifizieren, die sich geändert haben, verwenden Sie ne_stacked = (df1 != df2).stack() und filtern nicht geänderte Werte heraus, indem Sie changes = ne_stacked[ne_stacked] verwenden.
Um die tatsächlichen Änderungen zu erhalten Werte enthalten „different_locations = np.where(df1 != df2)“, das die Speicherorte der geänderten Daten identifiziert. Extrahieren Sie die Werte aus dem ursprünglichen Datenrahmen (df1) an diesen Standorten mithilfe von changes_from = df1.values[difference_locations]. Extrahieren Sie auf ähnliche Weise die entsprechenden Werte aus dem zweiten Datenrahmen (df2), indem Sie changes_to = df2.values[difference_locations] verwenden.
Um die Unterschiede umfassend darzustellen, erstellen Sie einen DataFrame, indem Sie changes_from und changes_to als Spalten kombinieren und den Index festlegen um mit der geänderten Variablen übereinzustimmen. Dieser DataFrame bietet eine klare Nebeneinanderansicht der Änderungen und hebt sowohl die ursprünglichen als auch die aktualisierten Werte für jeden Datenpunkt hervor.
Das obige ist der detaillierte Inhalt vonWie kann man DataFrames für eine detaillierte Änderungsanalyse effizient nebeneinander vergleichen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!