代码之家  ›  专栏  ›  技术社区  ›  Soerendip

熊猫在jupyter笔记本中显示所有索引标签,尽管重复

  •  2
  • Soerendip  · 技术社区  · 7 年前

    在jupyter笔记本中显示数据帧时。索引以分层方式显示。这样重复的标签就不会显示在下一行中。例如,具有以下标签的多索引的数据帧

    [1, 1, 1, 1]
    [1, 1, 0, 1]
    

    将显示为

    1 1 1 1 ...
        0 1 ...
    

    我是否可以更改此行为,以便在重复的情况下显示所有索引值?这样地:

    1 1 1 1 ...
    1 1 0 1 ...
    

    ?

    import pandas as pd
    import numpy as np
    import itertools
    N_t = 5
    N_e = 2
    classes = tuple(list(itertools.product([0, 1], repeat=N_e)))
    N_c = len(classes)
    noise = np.random.randint(0, 10, size=(N_c, N_t))
    df = pd.DataFrame(noise, index=classes)
    df
    
            0   1   2   3   4
    0   0   5   9   4   1   2
        1   2   2   7   9   9
    1   0   1   7   3   6   9
        1   4   9   8   2   9
    
    # should be shown as
            0   1   2   3   4
    0   0   5   9   4   1   2
    0   1   2   2   7   9   9
    1   0   1   7   3   6   9
    1   1   4   9   8   2   9
    
    1 回复  |  直到 7 年前
        1
  •  3
  •   Vivek Kalyanarangan    7 年前

    使用-

    with pd.option_context('display.multi_sparse', False):
        print (df)
    

         0  1  2  3  4
    0 0  8  1  4  0  2
    0 1  0  1  7  4  7
    1 0  9  6  5  2  0
    1 1  2  2  7  2  7
    

    全球:

    pd.options.display.multi_sparse = False
    

    或

    谢谢@Kyle-

    print(df.to_string(sparsify=False))