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

Python垂直拼接DataFrame出现额外空列,如何删除该列?

解决pd.concat后出现额外“null”列的问题

核心误区:拼接方向参数错误

你提到是垂直拼接(行方向合并,将DataFrame上下堆叠),但代码里用了axis="columns"——这个参数是用来做水平拼接(列方向合并,将DataFrame左右拼接)的,这是导致异常列出现的关键原因之一。

针对垂直拼接的正确操作

如果你的需求是垂直拼接,把10个DataFrame按行堆叠,修改concat代码如下:

concData = pd.concat([df1, df2, df3, df4, df5, df6, df7, df8, df9, df10], axis=0, ignore_index=True)
  • axis=0是垂直拼接的默认值,也可以省略不写
  • ignore_index=True会重置合并后的行索引,避免保留原始各个DataFrame的索引

若确实需要水平拼接,删除额外“null”列的方法

如果你实际要做的是水平拼接,出现的“null”列可以直接删除:

# 直接删除指定列,注意列名要准确,若列名是NaN可替换为对应实际显示的名称
concData.drop(columns=['null'], inplace=True)

同时建议排查原始DataFrame:检查df1到df10中是否本身就存在名为“null”的列,这可能是合并后该列保留的原因。

补充:重置索引的正确用法

你之前用的reset_index(drop=True)是重置行索引,和删除列无关,所以对移除额外列没有作用。如果需要重置行索引,在concat时用ignore_index=True就足够,不需要额外执行reset_index。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 10:10:34