Python ';取消纵火';写入Excel时的多索引
我有一个带有多索引的熊猫数据帧,默认情况下,当打印到屏幕上时,它将“稀疏”输出,这样就不会重复更高级别的索引。例如: 稀疏的: 我可以将其更改为“unsparse”,如下所示:Python ';取消纵火';写入Excel时的多索引,python,excel,pandas,Python,Excel,Pandas,我有一个带有多索引的熊猫数据帧,默认情况下,当打印到屏幕上时,它将“稀疏”输出,这样就不会重复更高级别的索引。例如: 稀疏的: 我可以将其更改为“unsparse”,如下所示: 但是,df.to_excel(writer)不支持此选项,它将始终使用合并的单元格将索引写为稀疏。有没有什么方法可以让这篇文章以“非粗俗”的方式写出优秀的文章?或者,我可以写入csv并将其导入excel,因为csv始终是“非垃圾邮件”,但这有点烦人。在写入excel之前尝试应用reset\u index() 例如:
但是,df.to_excel(writer)不支持此选项,它将始终使用合并的单元格将索引写为稀疏。有没有什么方法可以让这篇文章以“非粗俗”的方式写出优秀的文章?或者,我可以写入csv并将其导入excel,因为csv始终是“非垃圾邮件”,但这有点烦人。在写入excel之前尝试应用
reset\u index()
例如:
first second
bar one -0.008620
two 1.688653
baz one -0.145099
two 0.870981
foo one 2.544494
two 0.935468
qux one -1.868521
two -0.118242
打印(s.重置索引())
现在您可以指定
merge\u cells=False
例如:
arrays = [['bar', 'bar', 'baz', 'baz', 'foo', 'foo', 'qux', 'qux'],
['one', 'two', 'one', 'two', 'one', 'two', 'one', 'two']]
df=pd.DataFrame(np.random.randn(8, 4), index=arrays)
df.to_excel('example.xlsx',merge_cells=False)
即使你前后换位?df.T.reset_index().T.to_excelah好的,这确实有效,很抱歉,我没有意识到这不合适如果你使用df.reset_index().set_index(“名字”),那么你甚至不会得到ints/row numsOk这一恼人的额外列,很高兴它有效;)。了解set_索引很好。merge_cells=False的问题是它不稀疏索引和列。我认为最好保持稀疏的列。
arrays = [['bar', 'bar', 'baz', 'baz', 'foo', 'foo', 'qux', 'qux'],
['one', 'two', 'one', 'two', 'one', 'two', 'one', 'two']]
df=pd.DataFrame(np.random.randn(8, 4), index=arrays)
df.to_excel('example.xlsx',merge_cells=False)