【问题标题】:Pandas display all index labels in jupyter notebook despite repetition尽管重复,Pandas 在 jupyter notebook 中显示所有索引标签
【发布时间】:2018-11-30 18:48:14
【问题描述】:

在 jupyter notebook 中显示 DataFrame 时。索引以分层方式显示。这样重复的标签就不会显示在下一行中。例如。具有以下标签的 Multiindex 的数据框

[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

【问题讨论】:

    标签: python pandas jupyter


    【解决方案1】:

    使用 -

    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))
    

    【讨论】:

    • 您可以通过print(df.to_string(sparsify=false)进行单张打印
    猜你喜欢
    • 2019-01-28
    • 2017-05-28
    • 2016-03-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-11
    • 2019-04-22
    相关资源
    最近更新 更多