我有一个数据框如下:
idx col1 col2 col3
0 1.1 A 100
1 1.1 A 100
2 1.1 A 100
3 2.6 B 100
4 2.5 B 100
5 3.4 B 100
6 2.6 B 100
我想用百分比值更新
col3
,具体取决于col1
,col2
的组大小(两列,即,对于具有1.1,A的每一行-col3值应具有33.33
)所需的输出:
idx col1 col2 col3
0 1.1 A 33.33
1 1.1 A 33.33
2 1.1 A 33.33
3 2.6 B 50
4 2.5 B 100
5 3.4 B 100
6 2.6 B 50
最佳答案
df['col3'] = 100 / df.groupby(['col1', 'col2'])['col3'].transform('size')
print df
col1 col2 col3
idx
0 1.1 A 33.333333
1 1.1 A 33.333333
2 1.1 A 33.333333
3 2.6 B 50.000000
4 2.5 B 100.000000
5 3.4 B 100.000000
6 2.6 B 50.000000
关于python - 根据数据框中的大小组计算百分比值- Pandas ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37196973/