我的数据框看起来像这样:
Seats BigBlind Vpip
0 é=mc² 1.0 No
1 Johnii141 0.5 Yes
2 DebowyBolo 1.0 Yes
3 DebowyBolo 1.0 Yes
4 Subaru52rus 1.0 Yes
5 PepluditoEla 1.0 No
6 Johnii141 1.0 Yes
7 alexkikva 0.5 Yes
8 kinglaze 0.5 Yes
9 FLYLOVANGEL 1.0 No
10 é=mc² 0.5 Yes
11 kinglaze 1.0 Yes
我想计算Vpip列的百分比,当我像这样对一列分组时,效果很好:
df2.groupby(['Seats']).Vpip.value_counts().groupby(level=0).apply(lambda x: x/x.sum()*100).loc(axis=0)[slice(None), 'Yes'].reset_index(drop=True, level=1).reset_index(name='Vpip%')
当我尝试像这样将两列分组时:
df2.groupby(['Seats', 'BigBlind']).Vpip.value_counts().groupby(level=0).apply(lambda x: x/x.sum()*100).loc(axis=0)[slice(None), 'Yes'].reset_index(drop=True, level=1).reset_index(name='Vpip%')
我有一个KeyError:'是',我不知道为什么。
有人可以修复吗?
我也不太了解这段代码:.loc(axis=0)[slice(None), 'Yes']
我的意思是我知道.loc(axis=0)
的工作,但不确定它如何与其他部分一起工作。因此,如果您知道任何威胁可以向我解释,我将非常感激。