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

如何基于索引合并多个以Date为索引的DataFrame列表?

基于索引合并多个DataFrame的解决方案

你原来的reduce写法参数顺序有误,导致无法批量合并列表里的DataFrame,修正后就能一次性完成合并;另外还有更简洁的pd.concat方案可选,两种方法如下:

方案一:修正reduce的写法

调整pd.merge的参数顺序,将待合并的两个DataFrame(left和right)放在最前面,再指定索引相关参数:

from functools import reduce
import pandas as pd

final_df = reduce(lambda left, right: pd.merge(left, right, left_index=True, right_index=True, how='inner'), data_frames)

方案二:用pd.concat更简洁实现

因为所有DataFrame都以Date为索引,直接用concat配合join='inner'就能按索引内连接合并,代码更简洁:

import pandas as pd

final_df = pd.concat(data_frames, axis=1, join='inner')

注:如果DataFrame存在重复列名,concat会自动给列名添加后缀区分;若需要保留原列名,提前处理列名唯一性后再合并即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 04:01:16