如何从 Python 中创建的 Dataframe 中删除索引?

新手上路,请多包涵

我创建了一个 Dataframe df 通过使用以下命令合并 2 个列表:

 import pandas as pd
df=pd.DataFrame({'Name' : list1,'Probability' : list2})

但我想删除第一列(索引列)并使名为 Name 的列成为第一列。我尝试使用 del df['index']index_col=0 。但他们没有工作。我还检查了 reset_index() 但这不是我需要的。我想从这样创建的数据框中完全删除整个索引列(如上所述)。有人请帮忙!

原文由 controlfreak 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1k
2 个回答

您可以使用 set_index文档

 import pandas as pd

list1 = [1,2]
list2 = [2,5]
df=pd.DataFrame({'Name' : list1,'Probability' : list2})
print (df)
   Name  Probability
0     1            2
1     2            5

df.set_index('Name', inplace=True)
print (df)
      Probability
Name
1               2
2               5

如果您还需要删除索引 name

 df.set_index('Name', inplace=True)
#pandas 0.18.0 and higher
df = df.rename_axis(None)
#pandas bellow 0.18.0
#df.index.name = None
print (df)
   Probability
1            2
2            5

原文由 jezrael 发布,翻译遵循 CC BY-SA 3.0 许可协议

如果您想将数据框保存到报告的电子表格中,可以使用 xlsxwriter 格式化数据框以消除索引列。

 writer = pd.ExcelWriter("Probability" + ".xlsx", engine='xlsxwriter')

df.to_excel(writer, sheet_name='Probability', startrow=3, startcol=0, index=False)

writer.save()

index=False 然后将在没有索引列的情况下保存您的数据框。

从我的数据帧构建报告时,我一直使用它。

原文由 D. Whitt 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏