Heim  >  Artikel  >  Backend-Entwicklung  >  Wie berechnet man in Pandas Score-Unterschiede für mehrere Websites und Länder?

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

Susan Sarandon
Susan SarandonOriginal
2024-10-31 18:37:02123Durchsuche

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>

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>

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>

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

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!

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