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

如何基于共享列合并Pandas数据帧字典

解决Pandas合并多数据帧时重复共享列的问题

你的问题核心是直接按列拼接时,每个数据帧都包含的character列会被重复保留,要得到期望的结果,不需要额外重置索引(除非后续调整格式),但需要先对齐共享列再合并,下面是两种简单可行的方案:

方案1:基于索引对齐的concat改进

先将每个数据帧的character列设为索引,这样按列拼接时会自动对齐索引,不会重复生成character列,最后再将索引还原为普通列即可:

import pandas as pd

# 预处理每个数据帧,把character设为索引
processed_dfs = [df.set_index('character') for df in sega_df_dict.values()]
# 按列合并,join='inner'确保只保留所有数据帧都有的ROI
sega_final_df = pd.concat(processed_dfs, axis=1, join='inner').reset_index()

方案2:基于merge的逐次合并

以第一个数据帧为基础,逐个与其他数据帧基于character列进行内连接,这种方式天然只会保留一份character列:

import pandas as pd

# 取出字典中第一个数据帧作为合并起点
sega_final_df = next(iter(sega_df_dict.values()))
# 遍历剩余数据帧,逐个执行内连接
for df in list(sega_df_dict.values())[1:]:
    sega_final_df = sega_final_df.merge(df, on='character', how='inner')

两种方案都能得到你期望的结果,其中方案1在数据量较大时效率更高,方案2逻辑更直观,适合理解合并过程。

内容的提问来源于stack exchange,提问作者florence-y

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 21:13:11