在使用Pandas进行多级索引时,显示所有索引值

9

当查看我的DataFrame时,我希望看到所有的multiIndex值,包括后续行中一个级别的索引相同的情况。以下是一个示例:

arrays = [['20', '50', '20', '20'],['N/A', 'N/A', '10', '30']]
tuples = list(zip(*arrays))
index = pd.MultiIndex.from_tuples(tuples, names=['Jim', 'Betty'])
pd.DataFrame([np.random.rand(1)]*4,index=index)

输出结果如下:
                                0
Jim         Betty           
20          N/A          0.954973
50          N/A          0.954973
20          10           0.954973
            30           0.954973

我希望在左下角也有一个20。也就是说,我希望我的数据框如下所示:

                                0
Jim         Betty           
20          N/A          0.954973
50          N/A          0.954973
20          10           0.954973
20          30           0.954973

Pandas能够实现这个吗?
1个回答

14

您需要将 display.multi_sparse 设置为 False:

#if need temporary use option
with pd.option_context('display.multi_sparse', False):
    print (df)

                  0
Jim Betty          
20  N/A    0.201643
50  N/A    0.201643
20  10     0.201643
20  30     0.201643

如果需要在整个笔记本中使用此显示选项,可以通过以下方式一劳永逸地设置该选项:

# if permanent use
import pandas as pd
pd.options.display.multi_sparse = False

文档:

display.multi_sparse
True
“Sparsify” 多级索引的显示(在组中不显示外层重复的元素)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接