如何按指定列名顺序合并多个Pandas DataFrame?
解决方案
假设两个DataFrame的行数完全一致(从Excel整理的场景下通常行是对齐的),以下是两种简洁的实现方式:
方法1:拼接后重排列(直观易读)
先横向拼接两个DataFrame,再按指定顺序选取列:
import pandas as pd # 横向拼接df_1和df_2 df_combined = pd.concat([df_1, df_2], axis=1) # 按目标顺序提取列得到df_3 df_3 = df_combined[['A', 'U', 'B', 'Y']]
方法2:按目标顺序直接拼接列(一步到位)
跳过中间拼接步骤,直接按需求顺序组合列并拼接:
df_3 = pd.concat([df_1['A'], df_2['U'], df_1['B'], df_2['Y']], axis=1)
关键注意事项
如果两个DataFrame的索引不一致,拼接前需要先重置索引避免缺失值:
df_1 = df_1.reset_index(drop=True) df_2 = df_2.reset_index(drop=True)
内容的提问来源于stack exchange,提问作者Jan M.
相关产品推荐
相关产品推荐

