Heim > Artikel > Backend-Entwicklung > Wie berechnet man in Pandas Score-Unterschiede für mehrere Websites und Länder?
Bei der Arbeit mit Datensätzen ist es oft notwendig, Unterschiede oder Änderungen zwischen Werten im Zeitverlauf oder über verschiedene Kategorien hinweg zu berechnen. In Pandas können Sie diese Berechnungen effizient durchführen, indem Sie die Funktionen groupby() und diff() verwenden.
Im gegebenen Szenario verfügen Sie über einen DataFrame mit Daten zu verschiedenen Websites und deren Bewertungen in verschiedenen Ländern. Ihr Ziel ist es, den 1/3/5-Tage-Score-Unterschied für jede Standort-Länderkombination zu ermitteln.
Sortieren Sie zunächst Ihren DataFrame nach Standort, Land und Datumsspalten. Durch das Sortieren wird sichergestellt, dass ähnliche Datenpunkte gruppiert werden, was die Berechnung von Unterschieden erleichtert.
<code class="python">df = df.sort_values(by=['site', 'country', 'date'])</code>
Als nächstes verwenden Sie die Funktion „groupby()“, um die Daten nach Standort und Land zu gruppieren.
<code class="python">grouped = df.groupby(['site', 'country'])</code>
Nachdem die Daten gruppiert sind, können Sie nun die Bewertungsunterschiede mit der Funktion diff() berechnen. Diese Funktion berechnet die Differenz zwischen aufeinanderfolgenden Zeilen in einer Gruppe.
<code class="python">df['diff'] = grouped['score'].diff().fillna(0)</code>
Die Funktion diff() füllt fehlende Werte standardmäßig mit 0 und stellt so einen konsistenten und vollständigen Datensatz sicher.
Der resultierende DataFrame enthält die Originaldaten zusammen mit den berechneten Bewertungsdifferenzen:
date site country score diff 8 2018-01-01 fb es 100 0.0 9 2018-01-02 fb gb 100 0.0 5 2018-01-01 fb us 50 0.0 6 2018-01-02 fb us 55 5.0 7 2018-01-03 fb us 100 45.0 1 2018-01-01 google ch 50 0.0 4 2018-01-02 google ch 10 -40.0 0 2018-01-01 google us 100 0.0 2 2018-01-02 google us 70 -30.0 3 2018-01-03 google us 60 -10.0
Dieser DataFrame liefert die gewünschte Bewertungsdifferenz von 1/3/5 Tagen für jede Kombination aus Standort und Land.
Das obige ist der detaillierte Inhalt vonWie berechnet man in Pandas Score-Unterschiede für mehrere Websites und Länder?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!