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

如何基于股票代码索引合并两个列顺序不同的Pandas DataFrame

合并DataFrame解决方案

问题根因

pd.concat()仅负责沿指定轴拼接数据,不会基于字段值做关联匹配,无法实现按股票代码对齐数据的需求。两个表的列顺序不影响合并逻辑,只要共有的股票代码列名(或值规则)一致即可正常匹配。

实现代码

使用pandas内置的merge()方法完成关联匹配即可:

# 通用写法,默认两个表的股票代码列均命名为ticker
df3 = pd.merge(
    left=df1,
    right=df2,
    on="ticker",
    how="left"
)

参数调整说明

  • 如果你只需要从df2中提取Sector字段关联到df1,可以把right=df2改为right=df2[["ticker", "Sector"]],减少冗余字段
  • 如果两个表的股票代码列名不一致,例如df1中列名为ticker、df2中列名为股票代码,将on="ticker"替换为left_on="ticker", right_on="股票代码"即可
  • how参数可按需调整:
    • left:保留df1的全部行,df2中匹配到的内容自动填充,未匹配到的字段留空
    • inner:仅保留两个表都存在的ticker对应的行
    • outer:保留两个表的全部ticker对应行,未匹配到的字段留空
    • right:保留df2的全部行

内容的提问来源于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 20:06:07