温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

pandas怎么进行分组聚合

发布时间:2026-10-14 10:40:00 来源:亿速云 阅读:82 作者:小樊 栏目:编程语言

在 pandas 中,分组聚合最常用的是 groupby + 聚合函数。下面从基础到进阶给你系统讲一下。


一、基础用法:groupby + agg

import pandas as pd

df = pd.DataFrame({
    '部门': ['销售', '销售', '技术', '技术', '技术'],
    '姓名': ['张三', '李四', '王五', '赵六', '钱七'],
    '工资': [5000, 6000, 8000, 9000, 10000],
    '年龄': [25, 30, 28, 35, 40]
})

1. 按一列分组,求平均值

df.groupby('部门')['工资'].mean()

2. 按多列分组

df.groupby(['部门', '年龄'])['工资'].sum()

二、常用聚合函数

df.groupby('部门').agg({
    '工资': 'sum',
    '年龄': 'mean'
})

内置聚合函数:

  • sum
  • mean
  • count
  • max / min
  • std / var
  • median

三、多个聚合函数同时使用

df.groupby('部门')['工资'].agg(['sum', 'mean', 'max'])

或:

df.groupby('部门').agg(
    工资总和=('工资', 'sum'),
    工资均值=('工资', 'mean')
)

四、分组后重置索引

df.groupby('部门')['工资'].sum().reset_index()

五、使用自定义函数

df.groupby('部门')['工资'].agg(
    lambda x: x.max() - x.min()
)

六、分组后不聚合(遍历分组)

for name, group in df.groupby('部门'):
    print(name)
    print(group)

七、高级用法:agg + 多列多函数

df.groupby('部门').agg({
    '工资': ['sum', 'mean'],
    '年龄': 'max'
})

八、性能建议

  • 数据量大时,优先用内置聚合函数
  • 避免 apply(慢),能用 agg 就别用 apply

如果你有 具体业务场景(如按时间、按条件分组、多级索引),可以贴代码,我可以帮你写完整示例。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI
助
手