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

Pandas多个含同名列DataFrame按公共日期索引合并并对公共值求和

Pandas合并多份同列名日期索引DataFrame并对同日期数值求和

通用解决方案(支持任意数量的待合并DataFrame)

操作步骤非常简单:

  1. 把所有需要合并的DataFrame整理到一个列表中
  2. 先用pd.concat拼接所有DataFrame,再按索引分组求和即可
    完整代码示例:
import pandas as pd
import numpy as np

# 你的示例数据
range1 = pd.date_range('2021-10-01','2021-11-01')
range2 = pd.date_range('2021-11-01','2021-12-01')
df1 = pd.DataFrame(np.random.rand(len(range1),1), columns=['value'], index=range1)
df2 = pd.DataFrame(np.random.rand(len(range2),1), columns=['value'], index=range2)

# 核心处理代码
dfs = [df1, df2] # 有更多DataFrame直接追加到这个列表即可
merged_df = pd.concat(dfs).groupby(level=0).sum()

运行后得到的merged_df就是你需要的结果:总长度为62行,2021-11-01对应的value为两个DataFrame中该日期的数值之和。

双DataFrame场景简化写法

如果只有两个待合并的DataFrame,也可以直接用add方法实现,效果完全一致:

merged_df = df1.add(df2, fill_value=0)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 19:54:05