Pandas:如何在 groupby 中使用 as_index
您可以在 pandas groupby()操作中使用as_index参数来指定是否希望将分组依据的列用作输出的索引。
as_index参数可以是True或False 。
默认值为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