写入Excel时“未散布”熊猫多索引

phi*_*686 4 python excel pandas

我有一个带有多个索引的pandas数据框,默认情况下,在打印到屏幕时,它将“稀疏”输出,以便不再重复较高级别的索引。例如:

疏:

在此处输入图片说明

我可以将其更改为“ unsparse”,如下所示: 在此处输入图片说明

但是,df.to_excel(writer)不支持此选项,因为它将始终将索引写入为具有合并单元格的稀疏目录。有什么方法可以使这种编写以“不稀疏”的方式表现出色?另外,我可以写一个csv并将其导入excel,因为csv总是“不稀疏”,但这有点烦人。

Nab*_*bla 6

现在您可以指定 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)
Run Code Online (Sandbox Code Playgroud)


Dav*_*idK 5

reset_index()在写成excel之前尝试申请。

一个例子 :

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
Run Code Online (Sandbox Code Playgroud)

打印(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
Run Code Online (Sandbox Code Playgroud)

  • 如果执行df.reset_index()。set_index(“ First Name”),那么您甚至都不会得到烦人的ints / row nums列 (2认同)