从groupby和DF上的count使用reset_index后,无法重命名count列

时间:2018-07-02 14:11:47

标签: python pandas count rename pandas-groupby

这是我下面的代码,因为我进行了分组并依靠大数据框

group3=charity.groupby(['Split', 'B4']).size()
group3=group3.reset_index()

out
       split     B4     0
  0     CRk      No    193
  1     CRuk     Yes    7
  2     LLR      No    184
  3     LLR      Yes    15
  4     MUK      No     188
  5     MUK      Yes    12
  6     MCUK     No    186
  7     MCUK     Yes    14

下面的代码不起作用

  group3=group3.rename(columns={"0": "count1"})
  group3 #does not work 

想要重命名由count函数创建的新0列,因此我可以将其他列添加到数据框中以进行卡方检验

还想知道如何在除上面的B4列之外对多列进行计数功能

1 个答案:

答案 0 :(得分:1)

reset_index中使用参数名称:

group3=charity.groupby(['Split', 'B4']).size().reset_index(name='count1')

或重命名标量数字0

group3 = group3.rename(columns={0: "count1"})

示例

charity = pd.DataFrame({'B4':list('abbbbb'),
                       'Split':list('aaabbb')})

print (charity)
  B4 Split
0  a     a
1  b     a
2  b     a
3  b     b
4  b     b
5  b     b

group3=charity.groupby(['Split', 'B4']).size().reset_index(name='count1')
print (group3)
  Split B4  count1
0     a  a       1
1     a  b       2
2     b  b       3