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

如何批量计算DataFrame中每3列分组的行均值与标准差?

解决按每3列分组计算行均值和标准差的问题

可以通过给列生成分组标签,再按列分组聚合的方式实现自动化处理,不用手动逐个指定列:

步骤1:生成列分组标签

根据列的顺序,每3列归为一组,生成对应的组名(比如A1-3、A4-6):

import numpy as np
import pandas as pd

# 假设你的原始DataFrame是df
group_labels = [f"A{(i//3)*3 + 1}-{(i//3)*3 + 3}" for i in range(len(df.columns))]

步骤2:按列分组计算均值和标准差

使用groupby(axis=1)按生成的标签分组,同时聚合计算均值和标准差:

# 按列分组,每行计算均值、标准差
agg_result = df.groupby(group_labels, axis=1).agg(['mean', 'std'])

步骤3:重命名列到目标格式

把多级列名合并成A1-3_mean、A1-3_std的格式:

# 合并多级列名
agg_result.columns = [f"{group}_{stat}" for group, stat in agg_result.columns]

# 如果需要保留原Time列,假设Time是df的列之一,可以这样合并
new_df = pd.concat([df['Time'], agg_result], axis=1)

说明

你之前用groupby('Time')的思路不对,因为需求是每行内按列分组计算,而不是按Time值对行分组。上面的方法会自动遍历所有列,每3列一组完成计算,不管你有多少组重复数据都能适配。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 04:40:35