您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

使用熊猫/数据框计算加权平均值

使用熊猫/数据框计算加权平均值

我想我会用两个groupby来做到这一点。

首先计算“加权平均值”:

In [11]: g = df.groupby('Date')

In [12]: df.value / g.value.transform("sum") * df.wt
Out[12]:
0    0.125000
1    0.250000
2    0.416667
3    0.277778
4    0.444444
dtype: float64

如果将其设置为列,则可以对其进行分组:

In [13]: df['wa'] = df.value / g.value.transform("sum") * df.wt

现在,此列的总和是所需的:

In [14]: g.wa.sum()
Out[14]:
Date
01/01/2012    0.791667
01/02/2012    0.722222
Name: wa, dtype: float64

或潜在地:

In [15]: g.wa.transform("sum")
Out[15]:
0    0.791667
1    0.791667
2    0.791667
3    0.722222
4    0.722222
Name: wa, dtype: float64
其他 2022/1/1 18:30:56 有468人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶