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

Pandas合并两个DataFrame仅保留第一个表全部列的实现方法

Pandas多DataFrame追加行自动保留原表列的实现方案

有无需手动指定列名的实现方式,核心逻辑是复用第一个DataFrame的列属性作为对齐标准,无需硬编码列名字符串。


核心实现代码

假设第一个原表为df1,第二个待追加的表为df2,完整代码如下:

import pandas as pd

# 对齐列后拼接,自动保留df1的全部列,丢弃df2的独有列
result = pd.concat(
    [df1, df2.reindex(columns=df1.columns)],
    ignore_index=True
)

逻辑说明

  • 复用df1.columns直接获取原表的全部列名,哪怕后续df1的列有增减,这段代码都不需要修改,可自动适配。
  • reindex方法会自动完成列对齐:
    • 两个表共有的列(示例中的A、B、C)会完整保留原有数据
    • df2独有的列(示例中的J、L)会被直接丢弃
    • df2缺失的列(示例中的X、F)会默认填充为NaN,如果需要设置默认填充值,传入fill_value参数即可,比如填充0的写法:
    # 缺失列默认填充0的版本
    df2_aligned = df2.reindex(columns=df1.columns, fill_value=0)
    result = pd.concat([df1, df2_aligned], ignore_index=True)
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 19:06:03