通常,pandas中的groupby()方法在调用完毕之后,会将by之后的列修改为index。如下所示:
>>> df=pd.read_excel(r'D:/myExcel/1.xlsx')
>>> df
id name score grade
0 a bog 45.0 A
1 c jiken 67.0 B
2 i bob 23.0 A
3 b jiken 34.0 B
4 g lucy NaN A
5 e tidy 75.0 B
>>> df.groupby(by='grade').sum()
score
grade
A 68.0
B 176.0
之前,为了将grade重新设置为列,我们通常在调用完毕后再次调用reset_index()方法,如下所示:
>>> df.groupby(by='grade').sum().reset_index()
grade score
0 A 68.0
1 B 176.0
而as_index参数也可以起到同样作用,该参数是控制groupby方法是否需要将列作为新的index。默认是True,为了达到上述目的,我们只需要将其设置为False即可
>>> df.groupby(by='grade', as_index=False).sum()
grade score
0 A 68.0
1 B 176.0
哈哈,以上就是python小工具关于as_index的说明,有兴趣的话欢迎关注:python小工具。一起学习python和pandas