2
这可能是一个非常简单的问题,但我想了解如何在熊猫中进行分组和索引。熊猫索引编组后
比方说,我有以下数据的数据帧:
df = pd.DataFrame(data={
'p_id': [1, 1, 1, 2, 3, 3, 3, 4, 4],
'rating': [5, 3, 2, 2, 5, 1, 3, 4, 5]
})
现在,指数将被自动分配,使数据帧的样子:
p_id rating
0 1 5
1 1 3
2 1 2
3 2 2
4 3 5
5 3 1
6 3 3
7 4 4
8 4 5
当我尝试组它通过的p_id ,我得到:
>> df[['p_id', 'rating']].groupby('p_id').count()
rating
p_id
1 3
2 1
3 3
4 2
我注意到,p_id现在成为此DataFrame的索引,但第一行看起来很奇怪 - 为什么它有'p_id'索引在里面有空的评价?
我知道如何解决它,那种,如果我这样做:
>> df[['p_id', 'rating']].groupby('p_id', as_index=False).count()
p_id rating
0 1 3
1 2 1
2 3 3
3 4 2
现在我没有这个怪异的第一列,但我有两个指标,p_id的。
所以我的问题是,当我不使用as_index = False这个额外的行来自哪里,并且有没有办法将DataFrame分组,并保持p_id作为索引,而不必处理这个额外的行?如果有任何我可以阅读的文档,那也将不胜感激。
感谢
感谢您使用rename_axis的快捷方式。我知道如何摆脱,但感觉有点尴尬,它是在那里摆在首位。我只是好奇它为什么发生在第一位。 – ymoiseev
因为它是一个索引名称。请使用源代码示例DF尝试以下操作:'df.index.name ='AAA';打印(df)' – MaxU
噢好吧,明白了,所以它不是空行。感谢澄清和道歉的愚蠢问题:) – ymoiseev