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

如何在pandas中按四分位数分组并计算其他列的求和、均值等指标

实现代码

直接使用pandas的groupby+agg聚合方法即可完成需求,完整可运行代码如下:

import pandas as pd

# 构造示例数据
df = pd.DataFrame({
    'quartile': [1, 1, 2, 2, 3, 3, 3, 4],
    'value1': [1, 1, 1, 0, 0, 0, 1, 0],
    'value2': [0.9, 0.8, 0.75, 0.75, 0.5, 0.4, 0.3, 0.1]
})

# 按quartile分组后执行多维度聚合
res = df.groupby('quartile', as_index=False).agg(
    value1_sum = ('value1', 'sum'),
    value2_avg = ('value2', 'mean'),
    no_of_instances_in_val1 = ('value1', 'count')
)

# 可选:将value2的均值保留两位小数,和示例输出格式对齐
res['value2_avg'] = res['value2_avg'].round(2)

print(res)

核心逻辑说明

  • groupby('quartile', as_index=False):按四分位列分组,as_index=False保证quartile最终作为普通列输出,而非行索引
  • agg支持自定义聚合后的列名,规则为新列名=('原始列名', '聚合函数'),可一次性指定多列不同的聚合规则:
    • 对value1列执行sum求和,得到value1_sum
    • 对value2列执行mean求均值,得到value2_avg
    • 对value1列执行count统计非空值数量,即可得到分组的样本量

运行上述代码得到的结果和期望输出完全一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 23:24:03