Heim  >  Artikel  >  Backend-Entwicklung  >  Wie berechnet man gruppierte Unterschiede in Pandas mit mehreren Feldern?

Wie berechnet man gruppierte Unterschiede in Pandas mit mehreren Feldern?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-11-01 06:05:31539Durchsuche

How to Calculate Grouped Differences in Pandas with Multiple Fields?

Gruppierte Unterschiede in Pandas mit mehreren Feldern

In dieser Situation wollen wir die Unterschiede in den Bewertungen für verschiedene Standort- und Länderkombinationen berechnen Zeit.

Um dies zu erreichen, sortieren wir zunächst den Datenrahmen nach Standort, Land und Datum:

<code class="python">df = df.sort_values(by=['site', 'country', 'date'])</code>

Als nächstes verwenden wir Groupby und Diff, um die Unterschiede innerhalb der einzelnen Standorte zu berechnen und Ländergruppe:

<code class="python">df['diff'] = df.groupby(['site', 'country'])['score'].diff().fillna(0)</code>

Dies erzeugt Unterschiede innerhalb jeder Site und Ländergruppe und füllt alle fehlenden Werte mit 0.

Abschließend zeigen wir die Ergebnisse an:

<code class="python">print(df)

Output:

         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</code>

Bitte beachten Sie, dass das Sortieren nach willkürlicher Reihenfolge nicht direkt unterstützt wird. Erwägen Sie für solche Szenarien, Ihre Bestellung in einer Sammlung zu speichern und Ihre Spalte kategorisch zu gestalten. Auf diese Weise werden sort_values ​​an der angegebenen Reihenfolge ausgerichtet.

Das obige ist der detaillierte Inhalt vonWie berechnet man gruppierte Unterschiede in Pandas mit mehreren Feldern?. 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