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

如何将同列名的两个DataFrame并排合并(如A列与A列相邻)

解决方法

要实现将同名列放在一起的合并效果,你可以在拼接后对列索引进行排序,具体步骤如下:

  1. 先用pd.concat()拼接两个DataFrame
  2. 对拼接结果按列名排序,相同列名会自动相邻排列

示例代码:

import pandas as pd

df1 = pd.DataFrame({'A': [1, 2], 'B': ["abc", "abc"], 'C': [0, 1]})
df2 = pd.DataFrame({'A': [1, 6], 'B': ["bcd", "abc"], 'C': [5, 5]})

# 拼接两个DataFrame
combined_df = pd.concat([df1, df2], axis=1)
# 按列名排序,同名列会相邻
result_df = combined_df.sort_index(axis=1)

print(result_df)

执行后输出结果:

A  A     B     B  C  C
0  1  1  abc  bcd  0  5
1  2  6  abc  abc  1  5

你也可以直接通过重新索引列的方式实现,效果完全一致:

result_df = combined_df[sorted(combined_df.columns)]

原理很直白:pd.concat(axis=1)会按传入的DataFrame顺序拼接列(先放df1的所有列,再放df2的所有列),而对列索引排序后,相同名称的列会被归为一组,就能得到你想要的列顺序。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 12:15:24