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

Pandas按行合并不同列DataFrame且缺失列填充NaN的实现方法

实现方法

你需要的是两个DataFrame的纵向按行拼接,使用pd.concat()即可实现,之前操作未达预期大概率是参数配置错误,具体操作步骤如下:

步骤1:构造示例数据(可跳过,仅为复现你的场景)

import pandas as pd

# 构造DataFrame A
df_a = pd.DataFrame({
    'a': [1,4,7],
    'b': [2,5,8],
    'c': [3,6,9]
})

# 构造DataFrame B
df_b = pd.DataFrame({
    'a': [1,4,7],
    'b': [2,5,8],
    'd': [3,6,9]
})

步骤2:执行拼接

调用pd.concat()时传入两个DataFrame组成的列表,指定axis=0表示纵向按行拼接,设置ignore_index=True重置结果的行索引即可:

result = pd.concat([df_a, df_b], axis=0, ignore_index=True)

结果验证

最终得到的result共6行4列:

  • 前3行来自df_a,d列值为NaN,a、b、c列保留原始值
  • 后3行来自df_b,c列值为NaN,a、b、d列保留原始值

常见错误说明

  • merge和join都是用于按关联条件横向匹配列的方法,不适合纵向按行拼接的场景
  • 如果调用concat时错设axis=1会变成按列横向拼接,自然得不到预期结果

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 15:45:01