Pandas使用from_dict(orient='index')后如何移除列名0
解决Pandas DataFrame列名0的移除问题
针对你遇到的情况,以下几种方法可以在保留原索引(a、b、c)和数据行的前提下,移除默认生成的列名0:
方法1:创建DataFrame时直接指定空列名
在通过from_dict创建DataFrame时,直接通过columns参数指定列名为空字符串,从根源避免生成默认列名0:
import pandas as pd a = {"a":1,"b":2,"c":3} df1 = pd.DataFrame.from_dict(a, orient="index", columns=['']) print(df1)
方法2:修改已创建DataFrame的列名
如果已经生成了带列名0的DataFrame,直接修改columns属性将列名设为空即可:
# 针对已存在的df1 df1.columns = ['']
方法3:导出Excel时隐藏表头(不修改DataFrame)
若不想改动DataFrame本身,可在导出Excel时设置header=False,这样Excel中不会显示包含0的表头行(注意此操作会去掉整个表头):
with pd.ExcelWriter('your_file.xlsx') as writer: df1.to_excel(writer, sheet_name="Summary", header=False)
补充说明
你之前尝试的df1.drop(df1.index[0], inplace=True)是删除数据行,df1.reset_index(inplace=True, drop=True)是删除原索引,这两种操作都不符合需求,因为我们的目标是保留索引和数据,仅移除列名0。
内容的提问来源于stack exchange,提问作者Amankumar Singh
相关产品推荐
相关产品推荐

