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

使用Pandas concat合并DataFrame出现空单元格,如何实现数据追加到指定列下方?

问题分析

你当前的代码用pd.concat合并header和detail时,因两个DataFrame的列名完全不同,concat会按列名对齐,导致detail的数据被放到col_4-col_6列,而非追加到col_1-col_3的下方。

解决方案

要实现预期效果,需将detail的列名替换为header的列名,让concat时能将数据对齐到col_1-col_3列后再合并。

修改后的代码如下:

import pandas as pd

data = pd.read_excel('test.xlsx')
header = data[['col_1', 'col_2', 'col_3']]
# 将detail的列重命名为header的列名
detail = data[['col_4', 'col_5', 'col_6']].rename(columns={'col_4':'col_1', 'col_5':'col_2', 'col_6':'col_3'})
# 合并两个DataFrame并重置索引
combined = pd.concat([header, detail], ignore_index=True)
# 保存为CSV,保留列名且不输出索引
combined.to_csv('output.csv', index=False)
效果说明

修改后,detail中的ddddd、eeeee、ffffff会被放到col_1、col_2、col_3的第二行,col_4-col_6列全部为空,完全匹配你预期的输出格式:

col_1col_2col_3col_4col_5col_6
aaaaabbbbbccccc
dddddeeeeefffff

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

相关产品推荐
方舟 Agent Plan

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

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