python 加权平均,pandas求平均值函数
我有以下熊猫数据框:
data_df=pd。DataFrame({ind:[la , p , la , la , p , g , g ,la],
dist:[10。5.7.8.7.2.5.3.],
diff:[0.54,3.2,8.6,7.2,2.1,1。3.5,4.5],
cas:[1。2.3.4.5.6.7.8.]})
精确地
cas差异区域工业
0 1 0.54 10拉
1 2 3.20 5便士
2 3 8.60 7洛杉矶
3 4 7.20 8洛杉矶
4 5 2.10 7便士
5 6 1.00 2克
6 7 3.50 5克
7 8 4.50 3洛杉矶
我需要计算“dist”列中所有权重列的加权平均值,并将这些值分组为“ind”。
例如,“ind”=“la”和“diff”列:
((10*0.54) (8.60*7) (7.20*8) (4.50*3))/(10 7 8 3)=4.882143
我想得到以下结果。
cas差异
ind
2.785714
洛杉矶3.107143 4.88214834834
2.558333
将每列中的每个值乘以“dist”列中的相应值,将结果加到相同的“ind”上,然后将结果除以对应于相同ind的所有“dist”值的总和。
我认为这可能是一个由数据帧‘group by’方法完成的简单任务,但实际上有点棘手。
有人能帮我吗?
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。