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.
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>
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.
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!