pandas DataFrame数据分组
数据分组
需要使用:
groupby(需要分组的内容)[按什么分组] 得到的是一个对象
结合agg函数将聚合得到的结果作为一个新列
agg(['sum','mean']) 进行求和与平均值 []里的内容是固定的
代码:
# 引用 pandas
import pandas as pd
# 定义数据
data = {
"员工":["张三","李四","王五","赵六","孙七","周八"],
"部门":["HR","HR","技术","技术","销售","销售"],
"工资":[5000,5200,8000,7500,6000,5800],
"性别":["男","男","女","女","男","女"],
"年龄":[18,30,40,43,60,89]
}
# 创建 DataFrame
df = pd.DataFrame(data)
print(df)
# 按部门、年龄 工资进行分组
grouped = df.groupby(['部门','年龄'])['工资'].agg(['sum'])
print(grouped)
结果:
员工 部门 工资 性别 年龄
0 张三 HR 5000 男 18
1 李四 HR 5200 男 30
2 王五 技术 8000 女 40
3 赵六 技术 7500 女 43
4 孙七 销售 6000 男 60
5 周八 销售 5800 女 89
sum
部门 年龄
HR 18 5000
30 5200
技术 40 8000
43 7500
销售 60 6000
89 5800