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

如何使用Python实现两个DataFrame的对角线合并

pandas 对角线偏移拼接实现方法

核心逻辑是将右表的匹配索引整体向后偏移1位,再和左表按索引做外连接,即可得到你需要的拼接效果。

代码实现

首先导入依赖:

import pandas as pd

方法1:使用join按索引拼接

# 请替换为你自己的左表、右表数据
df_left = pd.DataFrame({'col1': [1,2,3,4], 'col2': ['x','y','z','w']})
df_right = pd.DataFrame({'col3': [5,6,7], 'col4': ['a','b','c']})

# 给右表设置偏移索引,从1开始和左表第二行对齐
df_right.index = range(1, len(df_right) + 1)

# 外连接合并,保留所有行
result = df_left.join(df_right, how='outer')

# 可选:重置索引去掉原有索引标记
result = result.reset_index(drop=True)

方法2:使用merge自定义拼接键实现

如果更习惯用merge方法,可以手动构造偏移后的拼接键:

df_left['merge_key'] = df_left.index
df_right['merge_key'] = df_right.index + 1

result = pd.merge(df_left, df_right, on='merge_key', how='outer').drop('merge_key', axis=1)

上述两种方法得到的结果完全一致,都可以实现你需要的第一行右表列为空、后续行逐行对齐的对角线拼接效果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 11:06:04