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

如何用Pandas将两个DataFrame行合并为新DataFrame的单行?

解决DataFrame匹配行合并为单行追加的问题

问题原因

你当前代码生成两行的核心原因是df1[i:i+1]和df2[j:j+1]的行索引不一致:pd.concat(axis=1)会按行索引对齐数据,当两个子DataFrame的行索引不同时,会生成多行(每行对应一个独立索引),最终append到full_data时就变成了两行。

修正方案

方案1:合并前重置行索引

先将取出的两行的索引统一重置为0,再横向合并成单行,最后追加到full_data:

# 取出目标行并重置索引(丢弃原索引)
df1_row = df1[i:i+1].copy().reset_index(drop=True)
df2_row = df2[j:j+1].copy().reset_index(drop=True)

# 横向合并为单行
merged_single_row = pd.concat([df1_row, df2_row], axis=1)

# 追加到full_data
full_data = full_data.append(merged_single_row, ignore_index=True)

方案2:使用join方法合并(更简洁)

利用join方法直接合并两行,自动对齐索引(需重置其中一行的索引):

merged_single_row = df1[i:i+1].copy().join(df2[j:j+1].copy().reset_index(drop=True))
full_data = full_data.append(merged_single_row, ignore_index=True)

弃用方法提示

从pandas 1.4.0版本开始,DataFrame.append()已被标记为弃用,推荐使用pd.concat()替代追加操作,代码可修改为:

full_data = pd.concat([full_data, merged_single_row], ignore_index=True)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 23:40:24