Maison  >  Article  >  développement back-end  >  Comment calculer les différences de scores pour plusieurs sites Web et pays dans Pandas ?

Comment calculer les différences de scores pour plusieurs sites Web et pays dans Pandas ?

Susan Sarandon
Susan Sarandonoriginal
2024-10-31 18:37:02123parcourir

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

Regroupement et recherche de différences dans plusieurs champs avec Pandas

Lorsque vous travaillez avec des ensembles de données, il est souvent nécessaire de calculer les différences ou les changements entre les valeurs au fil du temps ou entre différentes catégories. Dans Pandas, vous pouvez effectuer efficacement ces calculs en utilisant les fonctions groupby() et diff().

Dans le scénario donné, vous disposez d'un DataFrame avec des données sur divers sites Web et leurs scores dans différents pays. Votre objectif est de déterminer la différence de score de 1/3/5 jours pour chaque combinaison de pays de site.

Tri et regroupement des dataframes

Pour commencer, triez votre DataFrame par site, pays et colonnes de dates. Le tri garantit que les points de données similaires sont regroupés, ce qui facilite le calcul des différences.

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

Ensuite, utilisez la fonction groupby() pour regrouper les données par site et par pays.

<code class="python">grouped = df.groupby(['site', 'country'])</code>

Calcul des différences

Une fois les données regroupées, vous pouvez maintenant calculer les différences de score à l'aide de la fonction diff(). Cette fonction calcule la différence entre les lignes consécutives d'un groupe.

<code class="python">df['diff'] = grouped['score'].diff().fillna(0)</code>

La fonction diff() remplit les valeurs manquantes avec 0 par défaut, garantissant un ensemble de données cohérent et complet.

Frame de données résultant

Le DataFrame résultant contiendra les données d'origine ainsi que les différences de score calculées :

         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

Ce DataFrame fournit la différence de score souhaitée sur 1/3/5 jours pour chaque combinaison site/pays.

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!

Déclaration:
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