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

如何使用Pandas合并3个DataFrame?保留全部列实现堆叠

解决多列数DataFrame的完整堆叠问题

你用的pd.merge_ordered是做有序键合并的,本质是按共同列做类似SQL的连接操作,不是把数据行堆叠在一起——这就是你丢失列的原因:它只会保留参与合并的共同列,非共同列会被过滤。

要把三个DataFrame完整堆叠(行合并)、保留所有列,应该用pd.concat()方法,它会沿着行轴把数据拼在一起,列不匹配的位置自动填充NaN:

import pandas as pd

# 直接堆叠三个DataFrame,重置行索引避免重复
all_lob = pd.concat([df1, df2, df3], ignore_index=True)

如果需要区分不同产品的数据,可以给每个DataFrame先加一个标识列,再合并:

# 给每个DataFrame添加产品类型标识
df1['产品类型'] = '产品1'
df2['产品类型'] = '产品2'
df3['产品类型'] = '产品3'

# 堆叠并重置索引
all_lob = pd.concat([df1, df2, df3], ignore_index=True)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 03:15:27