在熊猫中使用multiIndexing时显示所有索引值

发布于 2021-01-29 15:04:18

我希望在查看我的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。也就是说,我希望我的DataFrame是:

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

熊猫有能力做到这一点吗?

关注者
0
被浏览
56
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    您需要设置display.multi_sparseFalse

    #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的
    “稀疏” MultiIndex显示(不显示组内外层的重复元素)



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看