官网是这样解释的:https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.groupby.html
as_index:bool, default True
For aggregated output, return object with group labels as the index. Only relevant for DataFrame input. as_index=False is effectively “SQL-style” grouped output.
翻译一下:
as_index:bool类型,默认为True
对于聚合输出,返回带有组标签的对象作为索引。仅与DataFrame输入有关。 as_index = False实际上是“SQL风格”的分组输出。
这样理解起来有点抽象,下面举个例子说明一下(学生和考试成绩):
import pandas as pd
df = pd.DataFrame(data={'Students':['stu1','stu1','stu1','stu2','stu2','stu3'],
'Score': [96,95,100,86,84,78]})
print(df)
print('\n................case1:True, max..........................')
print( df.groupby('Students', as_index=True).max() )
print('\n................case2:True, mean..........................')
print( df.groupby('Students', as_index=True).mean() )
print('\n................case3:False, max..........................')
print( df.groupby('Students', as_index=False).max() )
print('\n................case4:False, mean..........................')
print( df.groupby('Students', as_index=False).mean() )
Output:
Students Score
0 stu1 96
1 stu1 95
2 stu1 100
3 stu2 86
4 stu2 84
5 stu3 78
................case1:True, max..........................
Score
Students
stu1 100
stu2 86
stu3 78
................case2:True, mean..........................
Score
Students
stu1 97
stu2 85
stu3 78
................case3:False, max..........................
Students Score
0 stu1 100
1 stu2 86
2 stu3 78
................case4:False, mean..........................
Students Score
0 stu1 97
1 stu2 85
2 stu3 78