Pandas 分组求和作为新列名
在本文中,我们将介绍如何使用 Pandas 来对数据进行分组求和,并将求和结果作为新列名。
阅读更多:Pandas 教程
数据集
为了方便演示,我们先创建一个包含员工销售数据的数据集。
import pandas as pd
data = {'姓名': ['张三', '李四', '王五', '赵六', '钱七', '孙八', '周九'],
'部门': ['销售部', '销售部', '财务部', '市场部', '市场部', '财务部', '销售部'],
'销售额': [1000, 2000, 1500, 3000, 2500, 2000, 1800]}
df = pd.DataFrame(data)
数据集中包含员工的姓名、所在部门以及销售额:
姓名 | 部门 | 销售额 | |
---|---|---|---|
0 | 张三 | 销售部 | 1000 |
1 | 李四 | 销售部 | 2000 |
2 | 王五 | 财务部 | 1500 |
3 | 赵六 | 市场部 | 3000 |
4 | 钱七 | 市场部 | 2500 |
5 | 孙八 | 财务部 | 2000 |
6 | 周九 | 销售部 | 1800 |
分组求和
我们可以通过 groupby
函数将数据集按照部门分组:
df_grouped = df.groupby('部门').sum()
这样就可以得到每个部门的销售额总和:
部门 | 销售额 |
---|---|
市场部 | 5500 |
销售部 | 4800 |
财务部 | 3500 |
新列名
接下来,我们可以将销售额总和作为新列名添加到原始数据集中:
df_merged = pd.merge(df, df_grouped, on='部门')
df_merged.rename(columns={'销售额_y': '销售总额'}, inplace=True)
这样我们就可以得到每个员工所在部门的销售总额了:
姓名 | 部门 | 销售额 | 销售总额 | |
---|---|---|---|---|
0 | 张三 | 销售部 | 1000 | 4800 |
1 | 李四 | 销售部 | 2000 | 4800 |
2 | 王五 | 财务部 | 1500 | 3500 |
3 | 赵六 | 市场部 | 3000 | 5500 |
4 | 钱七 | 市场部 | 2500 | 5500 |
5 | 孙八 | 财务部 | 2000 | 3500 |
6 | 周九 | 销售部 | 1800 | 4800 |
总结
使用 Pandas 进行分组求和,可以方便地对数据进行汇总展示。同时,我们也可以将汇总结果作为新列名添加到原始数据集中,更好地展示数据。