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

如何用pandas按1500条记录分组计算各AU列的mean/sem/std统计值

实现方案

完全可以通过pandas自带的分组、聚合能力实现该需求,无需额外依赖,具体实现代码如下:

# 1. 筛选所有需要计算统计值的AU列
au_columns = [col for col in df_AU_r_2.columns if col.startswith("AU")]

# 2. 生成每个Segment内部的子分组编号:每1500条为一个子组
# groupby('Segment').cumcount()会对每个Segment内的行从0开始按顺序编号
# 整除1500后,编号相同的行即为同一个子组
df_AU_r_2["subgroup_id"] = df_AU_r_2.groupby("Segment").cumcount() // 1500

# 3. 按Segment+子分组编号双维度分组,聚合计算均值、标准误、标准差
au_stats = df_AU_r_2.groupby(["Segment", "subgroup_id"])[au_columns].agg(["mean", "sem", "std"])

# 可选:将多层级的列名扁平化为单层级,格式为「AU列名_统计指标」
au_stats.columns = [f"{col}_{metric}" for col, metric in au_stats.columns]

逻辑说明

  • 每个Segment内部的行编号从0开始,每1500条的整除结果相同,刚好实现每1500条一个分组的需求,最后不足1500条的尾部数据会自动划为独立子组,无需额外适配你给出的Segment边界
  • 聚合结果默认以Segment和subgroup_id为双层索引,可以直接通过reset_index()转为普通列方便后续使用

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 16:45:04