分组2列并计算百分比,重命名列

时间:2019-05-09 13:30:52

标签: python pandas

我的数据框看起来像这样:

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)的工作,但不确定它如何与其他部分一起工作。因此,如果您知道任何威胁可以向我解释,我将非常感激。

0 个答案:

没有答案