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

Pandas用groupby实现每n行分组,St求和其余列求均值的方案

实现方案

你可以通过groupby结合agg聚合方法,一次性为不同列指定不同的合并规则,完整实现代码如下:

import pandas as pd

# 设置每N行合并为1行
N = 5

# 构造分组规则:索引整除N后相同值的行归为同一组
# 动态生成聚合规则:所有列默认取平均值,仅St列取总和
agg_config = {col: 'mean' for col in df.columns}
agg_config['St'] = 'sum'

# 执行分组聚合,重置索引得到最终结果
res_df = df.groupby(df.index // N).agg(agg_config).reset_index(drop=True)

补充说明

如果你的列数较少,也可以手动指定聚合规则,写法更直观:

res_df = df.groupby(df.index // N).agg({
    'Temp (C)': 'mean',
    'Rel Hum (%)': 'mean',
    'Wind Spd (km/h)': 'mean',
    'St': 'sum'
}).reset_index(drop=True)
  • 末尾的reset_index(drop=True)是为了将分组生成的索引重置为从0开始的连续整数,和你给出的预期输出格式完全匹配。
  • 上述代码用你的示例数据运行后,输出结果和你贴的预期结果一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 16:27:04