Панды отображают все индексные метки в блокноте Jupyter, несмотря на повторение - PullRequest
0 голосов
/ 30 ноября 2018

При отображении DataFrame в блокноте 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 Ответ

0 голосов
/ 30 ноября 2018

Использование -

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))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...