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

Python如何合并无公共列的pandas DataFrame实现列对齐

你遇到的问题是pd.concat纵向合并时默认按列名匹配对齐,两个待合并DataFrame的列命名不一致,才会生成多余列、填充空值。你只需要先将第二个DataFrame的列名修改为和第一个一致,再合并即可。

修改后的完整代码如下:

import pandas as pd

FileFolder = r'(JAN-MAY 2021).xlsx'
BookingDF = pd.read_excel(FileFolder,skiprows=9)
# 原代码此行未赋值,如果你需要删除索引为1的行,补充赋值即可
BookingDF = BookingDF.iloc[pd.RangeIndex(len(BookingDF)).drop(1)]

VanDF = pd.read_excel(FileFolder,sheet_name='JANUARY VANSALES')

# 提取对应列
BookingHeader = BookingDF[['ID#','Name','w/bottles']]
VanHeader = VanDF[['Customer ID','Customer','W/BOTTLES']]
# 关键步骤:将VanHeader的列名重命名为和BookingHeader完全一致
VanHeader.columns = ['ID#', 'Name', 'w/bottles']

# 合并两个结构一致的DataFrame
CG_DF = [BookingHeader,VanHeader]
CG = pd.concat(CG_DF, axis=0, ignore_index=True)

print(CG)

运行后即可得到你预期的仅3列、无多余空值、数据对齐的合并结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 10:54:01