Pandas中groupby的参数as_index的True与False

官网是这样解释的: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
注意:上面几组输出结果的“index”。
as_index=True时,“as_index”就类似表示将组标签(类似“主键”)作为索引;
as_index=False时,索引为0,1,2,3…
(上述中的组标签指stu1,stu2,stu3)
  • 13
    点赞
  • 47
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值