Pandas:如何重命名 groupby 函数中的列


您可以使用以下基本语法来重命名 pandas 中的groupby()函数中的列:

 df. groupby (' group_col '). agg (sum_col1=(' col1 ', ' sum '),
                            mean_col2=(' col2 ', ' mean '),
                            max_col3=(' col3 ', ' max '))

此特定示例计算三个聚合列并将它们命名为sum_col1Mean_col2max_col3

以下示例展示了如何在实践中使用此语法。

示例:重命名 Pandas 中 Groupby 函数中的列

假设我们有以下 pandas DataFrame:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'],
                   ' points ': [30, 22, 19, 14, 14, 11, 20, 28],
                   ' assists ': [5, 6, 6, 5, 8, 7, 7, 9],
                   ' rebounds ': [4, 13, 15, 10, 7, 7, 5, 11]})

#view DataFrame
print (df)

  team points assists rebounds
0 to 30 5 4
1 to 22 6 13
2 A 19 6 15
3 A 14 5 10
4 B 14 8 7
5 B 11 7 7
6 B 20 7 5
7 B 28 9 11

我们可以使用以下语法按团队列对行进行分组,然后计算三个聚合列,同时为聚合列提供特定名称:

 #calculate several aggregated columns by group and rename aggregated columns
df. groupby (' team '). agg (sum_points=(' points ', ' sum '),
                       mean_assists=(' assists ', ' mean '),
                       max_rebounds=(' rebounds ', ' max '))

	sum_points mean_assists max_rebounds
team			
A 85 5.50 15
B 73 7.75 11

请注意,三个聚合列具有我们在agg()函数中提供的自定义名称。

另请注意,如果需要,我们可以使用 NumPy 函数来计算agg()函数中的总和、平均值和最大值。

 import numpy as np

#calculate several aggregated columns by group and rename aggregated columns
df. groupby (' team '). agg (sum_points=(' points ', np. sum ),
                       mean_assists=(' assists ', np. mean ),
                       max_rebounds=(' rebounds ', np. max ))

	sum_points mean_assists max_rebounds
team			
A 85 5.50 15
B 73 7.75 11

这些结果与前面示例的结果相对应。

其他资源

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

如何列出 Pandas 中的所有列名称
如何在 Pandas 中按名称对列进行排序
如何删除 Pandas 中的重复列

添加评论

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