You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

咨询pandas中pd.groupby()的应用场景、用法及示例

聊聊pandas的groupby():应用场景与用法

一、核心应用场景

  • 分类统计分析:把数据按指定类别拆分,统计每组的基础信息——比如你示例里按电影公司(Studios)分组,统计每家公司有票房数据的电影数量;还能延伸到计算每家公司的总票房、平均评分等。
  • 多维度聚合计算:不止单类别分组,还能按多列(比如["Year", "Studios"])分组,分析不同年份各电影公司的票房表现,挖掘更细粒度的规律。
  • 分组数据预处理:针对不同分组做差异化清洗——比如某类电影的票房缺失值用该类的均值填充,另一类用中位数,不用全表统一处理。
  • 分组筛选:比如筛选出总票房超过10亿的电影公司,先分组求和再过滤。

二、基础使用方法(结合你的示例)

先提一句:你示例里有个小笔误——变量名是小写的studios,后面写成了大写的Studios,运行时会报错,修正后再看逻辑:

1. 创建分组对象

用df.groupby(分组列名)创建分组容器,这一步只是标记好分组规则,不会立刻计算(惰性求值):

studios = movies.groupby("Studios")

2. 选择目标列

指定要对分组后的哪一列操作,比如只关注票房(Gross)列:

studios["Gross"]

也可以选多列,比如同时看票房和评分:studios[["Gross", "Rating"]]

3. 应用聚合函数

给选中的列加聚合函数,完成计算:

  • count():统计每组非缺失值的数量(你的示例就是用这个统计每家公司有票房数据的电影数)
  • sum():计算每组总和,比如studios["Gross"].sum()就是每家公司的总票房
  • mean():求每组平均值,比如每家公司电影的平均票房
  • 还能用agg()一次获取多个指标:
    studios["Gross"].agg(["sum", "mean", "count"])
    

4. 查看结果

用head()查看前几行结果,避免输出过多数据:

studios["Gross"].count().head()

内容的提问来源于stack exchange,提问作者VIJITH KUMAR

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 17:30:57