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

如何用Python计算Excel中A-C列内容相同行的D-G列均值

修正Python代码:按Excel中A-C列分组计算D-G列均值

核心解决方案:使用Pandas的groupby实现动态分组计算

放弃硬编码行位置的方式,用Pandas的分组功能可以自动识别A、B、C列内容完全相同的行组,并批量计算均值,代码如下:

import pandas as pd

# 读取目标Excel文件
df = pd.read_excel("your_excel_file.xlsx")

# 按A、B、C列分组,对D-G列求均值,重置索引让分组列变回普通列
result_df = df.groupby(['A', 'B', 'C'])[['D', 'E', 'F', 'G']].mean().reset_index()

# 查看结果或保存到新Excel
print(result_df)
# result_df.to_excel("grouped_mean_result.xlsx", index=False)

代码解释

  • groupby(['A', 'B', 'C']):自动将A、B、C列内容完全一致的行归为同一组,无需手动指定行位置,适配任何分组分布。
  • [['D', 'E', 'F', 'G']].mean():对每个分组的D到G列分别计算均值。
  • reset_index():将原本作为分组索引的A、B、C列转换为普通数据列,方便后续查看或导出。

示例验证

假设你的Excel原始数据为:

ABCDEFG
甲乙丙2468
甲乙丙1357
丁戊己10203040

运行代码后得到的期望结果:

ABCDEFG
甲乙丙1.53.55.57.5
丁戊己10.020.030.040.0

原硬编码方案的问题

硬编码行位置(比如df.loc[0:1, 'D':'G'].mean())的局限性非常明显:

  • 只能处理固定的行范围,无法自动识别所有分组;
  • 数据更新或分组位置变化时,代码会直接报错或计算结果错误;
  • 无法批量处理多个分组,效率极低。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 04:20:32