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

Pandas如何按名称不同的日期列合并两个DataFrame?

报错原因

你导入df1时,原来的Index列已经被pandas默认识别为行索引,没有存放在列名列表中,所以调用set_index('Index')时会提示找不到该列。

解决步骤

  1. 先将df1的行索引转为普通列,并重命名为和df2一致的关联字段Date:
# pandas 1.5.0及以上版本写法
df1 = df1.reset_index(names='Date')

# 低版本兼容写法
# df1 = df1.reset_index().rename(columns={'index': 'Date'})
  1. 直接按Date字段合并两个DataFrame即可:
# 按日期匹配合并,日期完全匹配用inner,需要保留两边所有日期可改为how='outer'
df3 = df2.merge(df1, on='Date', how='inner')

运行后得到的df3就是你需要的结构。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 22:15:03