[英]How to calculate a percentage using grouped columns in Pandas python?
[英]How to calculate aggregate percentage in a dataframe grouped by a value in python?
我是 python 的新手,我正在尝试了解如何处理聚合数据和操作。
我有一个 dataframe:
df3
Out[122]:
SBK SSC CountRecs
0 99 22 9
1 99 12 10
2 99 121 11
3 99 138 12
4 99 123 8
... ... ...
160247 184 1318 1
160248 394 2659 1
160249 412 757 1
160250 357 1312 1
160251 202 106 1
我想在整个数据框中了解每个 SBK 的 CountRecs 百分比。 例如,在这种情况下,我想了解 80618 是 99 的 SBK 总数的百分比。在这种情况下,它是 9/50 * 100。但我希望对所有行自动完成。 我怎么能 go 关于这个?
将GroupBy.transform
用于与原始 DataFrame 相同大小的系列,由计数填充,因此您可以划分原始列:
df3['percent'] = df3['CountRecs'] / df3.groupby('SBK')['CountRecs'].transform('sum') * 100
print (df3)
SBK SSC CountRecs percent
0 99 22 9 18.0
1 99 12 10 20.0
2 99 121 11 22.0
3 99 138 12 24.0
4 99 123 8 16.0
160247 184 1318 1 100.0
160248 394 2659 1 100.0
160249 412 757 1 100.0
160250 357 1312 1 100.0
160251 202 106 1 100.0
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.