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

如何使用Pandas的concat命令将两个DataFrame横向并排拼接?

解决Pandas DataFrame横向拼接匹配年份的问题

方法1:用concat实现横向并排

pd.concat()默认是纵向堆叠(axis=0),要横向拼接得显式指定axis=1,但得先保证两个DataFrame的索引是年份(或者把年份列设为索引),这样年份和对应数值才能对齐:

import pandas as pd

# 先将年份列设为索引(如果还没设置的话)
df1 = df1.set_index('年份')
df2 = df2.set_index('年份')

# 横向拼接
combined_df = pd.concat([df1, df2], axis=1)

方法2:用merge按年份精准匹配(更推荐)

如果两个DataFrame都有独立的年份列,用merge按年份关联更稳妥,能严格保证年份和数值对应:

# 按共同的'年份'列拼接,只保留两边都有的年份
combined_df = pd.merge(df1, df2, on='年份', how='inner')

# 如果要保留所有年份(包括某一边独有的),改用how='outer'
# combined_df = pd.merge(df1, df2, on='年份', how='outer')

排查要点

  • 要是设了axis=1还是不对,检查两个DataFrame的年份格式是否统一(比如一个是2023整数,一个是"2023"字符串)
  • 确认没有重复的年份记录,否则会出现重复行

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 08:46:00