При отображении DataFrame в ноутбуке jupyter. Индекс отображается иерархически. Чтобы повторные метки не отображались в следующей строке. Например, кадр данных с 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
Использование -
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)