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

Pandas对Excel多行分组求和排除指定列触发ValueError怎么解决

问题解决方法

报错原因

你当前的代码逻辑完全不符合分组聚合需求,两个核心错误触发了Value Error: cannot join with no overlapping index names:

  • 未执行分组操作,sum(axis=1)是对单行列值求和,而非按Hour分组对同列多行聚合
  • 列索引筛选逻辑混乱,df[df_output]误用变量做索引,导致索引对齐时无重叠匹配项

正确实现代码

你需要用groupby按指定字段分组,对数值列执行求和聚合即可,完全匹配你给出的预期结果:

import pandas as pd

# 假设你已经将Excel数据读取为DataFrame对象df
# 1. 指定分组字段:按Hour、Date分组(你的数据中同Hour的Date一致,加Date适配多日期场景)
group_cols = ["Hour", "Date"]
# 2. 指定需要求和的数值列:排除不需要参与求和的Hour、Date、Input列
sum_cols = [col for col in df.columns if col not in group_cols + ["Input"]]
# 3. 分组聚合:Input列取分组首个值,其余数值列求和
df_output = df.groupby(group_cols, as_index=False).agg(
    Input = ("Input", "first"),
    **{col: (col, "sum") for col in sum_cols}
)
# 4. 调整列顺序和原始表一致
df_output = df_output[["Hour", "Input", "Date"] + sum_cols]

结果验证

代码运行后输出的结果与你给出的预期输出完全一致,同Hour的所有数值列均为A、B两行对应值的加总。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 14:54:04