Maison > développement back-end > Tutoriel Python > Comment calculer les différences groupées dans les pandas avec plusieurs champs ?

Comment calculer les différences groupées dans les pandas avec plusieurs champs ?

Mary-Kate Olsen
Libérer: 2024-11-01 06:05:31
original
626 Les gens l'ont consulté

How to Calculate Grouped Differences in Pandas with Multiple Fields?

Différences groupées chez les pandas avec plusieurs champs

Dans cette situation, nous visons à calculer les différences de scores pour différentes combinaisons de sites et de pays sur heure.

Pour y parvenir, nous commençons par trier le dataframe en fonction du site, du pays et de la date :

<code class="python">df = df.sort_values(by=['site', 'country', 'date'])</code>
Copier après la connexion

Ensuite, nous utilisons groupby et diff pour calculer les différences au sein de chaque site. et groupe de pays :

<code class="python">df['diff'] = df.groupby(['site', 'country'])['score'].diff().fillna(0)</code>
Copier après la connexion

Cela génère des différences au sein de chaque site et groupe de pays et remplit les valeurs manquantes avec 0.

Enfin, nous affichons les résultats :

<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>
Copier après la connexion

Veuillez noter que le tri par ordre arbitraire n'est pas directement pris en charge. Pour de tels scénarios, envisagez de stocker votre commande dans une collection et de rendre votre colonne catégorique. De cette façon, sort_values ​​s'alignera sur l'ordre fourni.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal