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

如何对4个列结构一致的DataFrame执行inner join,现有双表拼接代码如何修改

多DataFrame inner join实现方案

方案1:直接传入DataFrame列表(最简洁)

pandas的join方法本身支持传入多个DataFrame组成的列表,不需要多次链式调用,修改代码如下:

# 直接把df2、df3、df4放到列表里传入join方法
dfJoin = df1.join([df2, df3, df4], how='inner')
print(dfJoin)

注意:该方法默认按索引对齐合并,如果需要按指定公共列合并,可添加on='公共列名'参数。

方案2:reduce批量合并(适合DataFrame数量较多的场景)

如果后续需要合并的DataFrame数量还会增加,可以用functools.reduce实现批量合并,代码可扩展性更强:

from functools import reduce
import pandas as pd

# 把所有需要合并的DataFrame放到列表中
df_list = [df1, df2, df3, df4]
# 批量执行inner join,此处用merge也可以,根据你的合并规则调整
dfJoin = reduce(lambda left, right: pd.merge(left, right, how='inner'), df_list)
print(dfJoin)

注意:如果是按列合并而非索引合并,在merge方法中添加on='公共列名'参数即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 08:09:01