Wie berechnet man in Pandas Score-Unterschiede für mehrere Websites und Länder?

Susan Sarandon
Freigeben: 2024-10-31 18:37:02
Original
200 Leute haben es durchsucht

How to Calculate Score Differences for Multiple Websites and Countries in Pandas?

Gruppieren und Finden von Unterschieden in mehreren Feldern mit Pandas

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.

Datenrahmensortierung und -gruppierung

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

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

Unterschiede berechnen

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

Die Funktion diff() füllt fehlende Werte standardmäßig mit 0 und stellt so einen konsistenten und vollständigen Datensatz sicher.

Resultierender Datenrahmen

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

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!

Quelle:php.cn
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