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

如何合并DataFrame时考虑列顺序,实现类似SQL UNION/UNION ALL的效果

实现DataFrame合并的UNION/UNION ALL效果

处理步骤

1. 统一列顺序(解决列混乱问题)

你的两个DataFrame列名一致但顺序不同,合并前先对齐列顺序,避免出现列重复或顺序错乱的情况:

import pandas as pd

df1 = pd.DataFrame({'A':['a','a'], 'B':['b','b']})
df2 = pd.DataFrame({'B':['b','b'], 'A':['a','a']})

# 让df2的列顺序和df1保持一致
df2 = df2[df1.columns]

2. 实现UNION ALL(保留所有重复行)

直接合并并重置索引,对应SQL的UNION ALL逻辑:

union_all_df = pd.concat([df1, df2], ignore_index=True)
print(union_all_df)

输出结果:

A  B
0  a  b
1  a  b
2  a  b
3  a  b

3. 实现UNION(去重合并)

在UNION ALL的结果上去除完全重复的行,对应SQL的UNION逻辑:

union_df = union_all_df.drop_duplicates(ignore_index=True)
print(union_df)

输出结果:

A  B
0  a  b

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 19:20:35