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

Susan Sarandon
Libérer: 2024-10-31 18:37:02
original
137 Les gens l'ont consulté

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

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

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

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

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

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!

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
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!