Python 如何应用groupby在dataframe列中导出总和的百分比?
我是python新手,正在尝试了解如何获取聚合百分比 我的数据帧-Python 如何应用groupby在dataframe列中导出总和的百分比?,python,pandas,dataframe,group-by,Python,Pandas,Dataframe,Group By,我是python新手,正在尝试了解如何获取聚合百分比 我的数据帧- df3 Out[11]: SBK SSC CountRecs 0 99 22 811 1 99 12 760 2 99
df3
Out[11]:
SBK SSC CountRecs
0 99 22 811
1 99 12 760
2 99 121 690
3 99 138 632
4 99 123 509
... ... ...
160330 4 22 1
160331 232 22 1
160332 53 22 1
160333 108 22 1
160334 128 22 1
我试图得到每一行的百分比输出。我想要countrec/按SSC计算的countrec之和)X100。例如,对于此数据帧中的第一行,对于SSC 22,百分比将为811/816 X 100=99.38%
我试过了
import pandas as pd
df3['percent'] = df3['CountRecs'] / df3.groupby('SSC')['CountRecs'].transform('sum') * 100
但我相信它没有给我正确的输出。希望您能提供帮助。我认为您的答案是正确的,只需移动乘法阶段:
df.CountRecs*100/df.groupby(“SSC”).CountRecs.transform(“sum”)
为什么第一行是809?我不明白为什么会这样value@Terry我编辑了我的问题。我的意思是你的方法应该给出正确的答案。为什么你不这么认为?就像我说的,你的代码应该给出正确的答案。我还在给定的数据上尝试了您的代码,第一行显示为99.387255
。