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

如何用Python Pandas的groupby实现列值全组合分组统计

解决按指定分组聚合Pandas DataFrame的问题

看起来你已经找对了核心思路——用groupby+agg来实现需求,不过可以优化写法,同时精准锁定Segment Type为PRIME的数据。我给你整理了两种清晰的实现方式:

方式一:分步处理(可读性更高)

# 1. 先筛选出Segment Type为PRIME的目标行
prime_subset = df[df['Segment Type'] == 'PRIME']

# 2. 按指定列分组,对Q1执行多维度聚合计算
result = prime_subset.groupby(['Segment Type', 'Nature of Query'])['Q1'].agg(
    样本量='size',
    最小值='min',
    最大值='max',
    平均值='mean'
)

# 可选:如果需要把多级索引转成普通列,执行下面一行
result = result.reset_index()

方式二:合并成一行代码(更简洁)

result = df[df['Segment Type'] == 'PRIME'].groupby(['Segment Type', 'Nature of Query'])['Q1'].agg(
    size='size',
    min='min',
    max='max',
    mean='mean'
).reset_index()

补充细节说明

  1. 关于聚合函数的写法:你之前用的pd.np.size这类写法在新版本Pandas里已经被弃用了,推荐直接用字符串别名(比如'size'、'min'),或者导入numpy后用np.size、np.min,后者的写法示例如下:
import numpy as np

result = df[df['Segment Type'] == 'PRIME'].groupby(['Segment Type', 'Nature of Query'])['Q1'].agg(
    size=np.size,
    min=np.min,
    max=np.max,
    mean=np.mean
).reset_index()
  1. 执行完成后,result会包含每个PRIME+Nature of Query组合对应的统计值,完全匹配你的需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 11:38:07