Pandas合并DataFrame后无法删除开头新增列的问题如何解决?
问题原因与解决方法
你遇到的问题有两种常见的可能,对应解决方法如下:
原因1:drop方法未生效是因为没有修改原DataFrame
pandas的drop方法默认不会修改原对象,只会返回删除指定列/行后的新DataFrame,你当前的写法没有对返回结果做承接,原result对象自然没有变化。
解决方法(二选一即可):
- 把删除后的结果重新赋值给原变量
result = result.drop(result.columns[0], axis=1)
- 给
drop方法添加inplace=True参数,直接修改原对象
result.drop(result.columns[0], axis=1, inplace=True)
原因2:导出Excel时默认写入了索引列
如果你要删除的首列是无列名、内容为从0开始的连续序号,那这列其实是DataFrame的默认索引,不需要提前执行drop操作,只需要在导出Excel时关闭索引写入即可。
解决方法:
修改to_excel的参数,添加index=False:
with pd.ExcelWriter('NC_Merge.xlsx') as writer: result.to_excel(writer, sheet_name='WorkSheet', index=False)
内容的提问来源于stack exchange,提问作者Saeed
相关产品推荐
相关产品推荐

