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

在Pandas中如何横向交错拼接列名相同的两个数据集?

实现两个同列名CSV的交错横向拼接

直接用pd.concat默认会把一个文件的所有列放在另一个后面,要实现交错排列可以按以下步骤操作:

1. 读取CSV文件

先把两个文件读成DataFrame:

import pandas as pd

df_a = pd.read_csv('A.csv')
df_b = pd.read_csv('B.csv')

2. 给列名添加区分后缀

因为两个文件列名完全一致,拼接后会出现重复列名,先给各自的列加上专属后缀,方便后续排序:

df_a = df_a.add_suffix('_A')
df_b = df_b.add_suffix('_B')

3. 生成交错列顺序

遍历原始列名,依次将A和B的对应列加入新的列列表:

# 自动获取原始列名(从处理后的df_a中提取)
original_cols = df_a.columns.str.replace('_A', '')
# 用列表推导式快速生成交错列
interleaved_cols = [col for pair in zip(df_a.columns, df_b.columns) for col in pair]

4. 拼接并重排列

先横向拼接两个DataFrame,再按生成的交错列顺序重新排列:

combined_df = pd.concat([df_a, df_b], axis=1)
final_df = combined_df[interleaved_cols]

5. 保存结果

把最终的DataFrame保存为新的CSV文件:

final_df.to_csv('C.csv', index=False)

如果你的列名是固定的(比如就是Col1、Col2、Col3),也可以直接手动写交错列列表:

interleaved_cols = ['Col1_A', 'Col1_B', 'Col2_A', 'Col2_B', 'Col3_A', 'Col3_B']

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 14:10:00