[英]How can I pivot a table and get the percentage of each row in Python?
我有一个 dataframe 有几行,每个都是与主要组不同的子组,就像这样:
group subgroup count
A aaa 10
A bbb 20
A ccc 30
B aaa 10
B bbb 20
我怎样才能 pivot 这个表并获得每个子组的百分比? 基本上,我想得到这个:
group subgroup_aaa subgroup_bbb subgroup_ccc
A 0.1666 0.33333 0.5
B 0.3333 0.5 0
我们可以尝试使用normalize
进行crosstab
s=pd.crosstab(index=df.group,columns=df.subgroup,values=df['count'],
normalize='index',aggfunc='sum').\
add_prefix('subgroup_').reset_index()
Out[476]:
subgroup group subgroup_aaa subgroup_bbb subgroup_ccc
0 A 0.166667 0.333333 0.5
1 B 0.333333 0.666667 0.0
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.