You need to enable JavaScript to run this app. Pandas如何对列名不同但含义相同的两个DataFrame做行合并
优惠活动
大模型
产品
解决方案
定价
更多

Pandas如何对列名不同但含义相同的两个DataFrame做行合并

Pandas 同结构不同列名DataFrame合并方案

pd.concat默认会根据列名对齐进行合并,两个DataFrame列名不同时就会生成8列的结果。你只需要在合并前将df2的列名临时/永久修改为和df1一致即可,具体操作如下:

方法1:临时修改df2列名(不改变原df2结构)

import pandas as pd
# 合并时直接为df2设置和df1相同的列名,ignore_index=True重置合并后的行索引
df3 = pd.concat([df1, df2.set_axis(df1.columns, axis=1)], ignore_index=True)

方法2:先修改df2列名再合并

import pandas as pd
# 永久修改df2的列名和df1对齐
df2.columns = df1.columns
df3 = pd.concat([df1, df2], ignore_index=True)

两种方法得到的df3都和你需要的结果完全一致。

注意:该方案仅适用于两个DataFrame对应位置的列存储信息一致、列顺序完全匹配的场景,如果你后续遇到列顺序不一致的情况,需要先调整df2的列顺序再修改列名。

内容的提问来源于stack exchange,提问作者András Czeitner

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.17 20:06:07