在写入Excel时,“解析”一个pandas多索引
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在写入Excel时,“解析”一个pandas多索引相关的知识,希望对你有一定的参考价值。
我有一个带有多索引的pandas数据帧,默认情况下,当打印到屏幕时,它会“稀疏”输出,以便不重复更高级别的索引。例如:
疏:
但是,df.to_excel(writer)不支持此选项,它将始终将索引编写为包含合并单元格的稀疏索引。有没有办法让这种写法以“非稀疏”的方式写入excel?或者我可以写入csv并将其导入excel,因为csv总是“非稀疏”,但这有点烦人。
答案
在写入excel之前尝试应用reset_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.reset_index())
first second 0
0 bar one -0.008620
1 bar two 1.688653
2 baz one -0.145099
3 baz two 0.870981
4 foo one 2.544494
5 foo two 0.935468
6 qux one -1.868521
7 qux two -0.118242
另一答案
现在你可以指定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)
以上是关于在写入Excel时,“解析”一个pandas多索引的主要内容,如果未能解决你的问题,请参考以下文章
在 Pandas 中使用多索引标题读取 excel 时选择列
带有多索引和 parse_date 的 pandas read_excel;如何?
Pandas,使用 merge_cells=False 从 excel 恢复多索引