如何从上个月的平均值计算每个月的百分比变化

2024-04-20 06:54:54 发布

您现在位置:Python中文网/ 问答频道 /正文

我有如下数据:

YearMonth  PageViews  Users
202001      100        10
202002      150        12
202003      100        13
202004      120        15
202005      130        10

我想找出每个新月份与上个月平均使用量的百分比差异。比如说,

  1. 202001年将为NA,因为没有上个月
  2. 202002年前一个月的平均值 将仅为202001,因此 与202001相比,202002为50%,用户为20%
  3. 同样,202003年前几个月的平均值为 202001和202002的平均值加起来,因此页面浏览平均值为125(100+150除以2),用户 为11,因此202003的百分比差异将为-20% 页面浏览量和用户的+18%等等

如何使用python找到它?任何帮助都将不胜感激。多谢各位


Tags: 数据用户页面差异users平均值百分比使用量
1条回答
网友
1楼 · 发布于 2024-04-20 06:54:54

尝试cumsum()/range获取累积平均值:

cols = ['PageViews','Users']
cum_mean = df[cols].cumsum().div(np.arange(len(df))+1, axis=0)
df[cols].div(cum_mean.shift()).sub(1)

输出:

   PageViews     Users
0        NaN       NaN
1   0.500000  0.200000
2  -0.200000  0.181818
3   0.028571  0.285714
4   0.106383 -0.200000

相关问题 更多 >