📅  最后修改于: 2023-12-03 15:13:17.080000             🧑  作者: Mango
在 Pandas 中,agg
函数可以通过聚合和应用一个或多个函数来汇总数据。有时候,我们需要自定义聚合数据的列名,以便于数据的下一步操作。本文将介绍如何使用 agg
函数来自定义聚合数据的列名。
首先,我们需要有一份原始数据。我们使用下面的代码创建一个数据表:
import pandas as pd
data = pd.DataFrame({
'Name': ['Alice', 'Bob', 'Charlie', 'David', 'Emily'],
'Group': ['A', 'B', 'A', 'B', 'B'],
'Score': [85, 65, 78, 90, 82],
'Age': [25, 30, 22, 28, 33]
})
原始数据如下:
| | Name | Group | Score | Age | |---:|:--------|:--------|:--------|:------| | 0 | Alice | A | 85 | 25 | | 1 | Bob | B | 65 | 30 | | 2 | Charlie | A | 78 | 22 | | 3 | David | B | 90 | 28 | | 4 | Emily | B | 82 | 33 |
我们可以通过下面的代码使用 agg
函数来计算数据表中每个分组的平均年龄和分数,并自定义列名为 AvgAge
和 AvgScore
。
result = data.groupby('Group').agg(
AvgAge=('Age', 'mean'),
AvgScore=('Score', 'mean')
).reset_index()
其中,('Age', 'mean')
表示对年龄进行求平均值操作,('Score', 'mean')
表示对分数进行求平均值操作。AvgAge
和 AvgScore
是自定义的列名。
计算结果如下:
| | Group | AvgAge | AvgScore | |---:|:--------|:--------|:-----------| | 0 | A | 23.5 | 81.5 | | 1 | B | 30.333333 | 79 |
可以看到列名已经成功地自定义为 AvgAge
和 AvgScore
。
通过使用 agg
函数,我们可以很容易地自定义聚合数据的列名。这可以使数据更加清晰易读,并方便数据下一步的操作。