Pandas:如何在 groupby 中使用 as_index


您可以在 pandas groupby()操作中使用as_index参数来指定是否希望将分组依据的列用作输出的索引。

as_index参数可以是TrueFalse

默认值为True

以下示例展示了如何在实践中使用as_index参数。

示例:如何在 pandas groupby 中使用 as_index

假设我们有以下 pandas DataFrame,显示来自不同球队的篮球运动员的得分:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'A', 'A', 'B', 'B', 'C', 'C', 'C'],
                   ' points ': [12, 15, 17, 17, 19, 14, 15, 20, 24, 28]})
                            
#view DataFrame
print (df)

  team points
0 to 12
1 to 15
2 to 17
3 to 17
4 to 19
5 B 14
6 B 15
7 C 20
8 C 24
9 C 28

我们可以使用以下语法按团队列对行进行分组并计算列总和,同时指定as_index=True以使用团队作为输出索引:

 #group rows by team and calculate sum of points
print ( df.groupby (' team ', as_index= True ) .sum ())

points
team        
At 80
B29
C 72

输出显示点数列中的值的总和,并按团队列中的值进行分组。

请注意,团队列用作输出的索引。

如果我们指定as_index=False那么team列将不会用作输出索引:

 #group rows by team and calculate sum of points
print ( df.groupby (' team ', as_index= False ) .sum ())

  team points
0 to 80
1 B 29
2 C 72

请注意, team现在用作输出中的列,索引列的编号仅为 0-2。

注意:您可以在此处找到 pandas groupby()操作的完整文档。

其他资源

以下教程解释了如何在 pandas 中执行其他常见操作:

使用 Pandas Groupby 后如何获得群组
如何将 Pandas GroupBy 输出转换为 DataFrame
如何将函数应用于 Pandas Groupby

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注