如何计算 Pandas 中多个网站和国家的分数差异?

Susan Sarandon
发布: 2024-10-31 18:37:02
原创
134 人浏览过

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

使用 Pandas 对多个字段进行分组并查找差异

在处理数据集时,通常需要计算值随时间或不同类别之间的差异或变化。在 Pandas 中,您可以利用 groupby() 和 diff() 函数高效地执行这些计算。

在给定的场景中,您有一个 DataFrame,其中包含各个网站上的数据及其在不同国家/地区的分数。您的目标是确定每个网站国家/地区组合的 1/3/5 天分数差异。

数据框排序和分组

首先,按网站、国家/地区和地区对 DataFrame 进行排序日期列。排序可确保相似的数据点分组在一起,从而更容易计算差异。

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

接下来,使用 groupby() 函数按站点和国家/地区对数据进行分组。

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

计算差异

数据分组后,您现在可以使用 diff() 函数计算分数差异。此函数计算组中连续行之间的差异。

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

diff() 函数默认用 0 填充缺失值,确保数据集一致且完整。

生成的 Dataframe

生成的 DataFrame 将包含原始数据以及计算出的分数差异:

         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
登录后复制

此 DataFrame 为每个站点/国家/地区组合提供所需的 1/3/5 天分数差异。

以上是如何计算 Pandas 中多个网站和国家的分数差异?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!