У панд есть много волшебства, чтобы красиво печатать DataFrames в зависимости от размера окна терминала. К сожалению, мой, похоже, немного некалиброван, так что мне часто приходится увеличивать ширину терминала на 1-2 символа, чтобы привести его в соответствие. Это как если бы он постоянно недооценивал ширину MultiIndex или переоценивал ширину окна терминала.
Насколько я могу судить, проблема возникает, когда:
Слишком много столбцов, чтобы поместиться на экране одновременно, и
Индекс представляет собой MultiIndex, содержащий несколько уровней с длинными именами.
Вот пример сценария:
import pandas
import numpy as np
df = pandas.DataFrame(np.zeros((9, 16), dtype=np.int))
df.index = pandas.MultiIndex.from_product([
['awefawef', 'asdaoijo', 'awefoiasdfasji'],
['awefawef', 'asdoaijo', 'awefoiji', ],
])
print(df)
Результат ужасен:
Если я немного увеличу ширину, это нормально. Это то, что я хочу: подмножество столбцов, выбранных, чтобы не превышать доступную ширину.
Но поскольку я продолжаю работать, мне приходится увеличивать ширину терминала на 1-2 символа каждые несколько минут, что разочаровывает. Таким образом, он обнаруживает, что я увеличиваю ширину терминала, но он все еще имеет тенденцию к тому, чтобы вывод был немного слишком широким.
В настоящее время у меня установлены эти параметры. Это выглядит правильно для меня, из документации.
In [4]: pandas.get_option('display.width')
Out[4]: 80
In [5]: pandas.get_option('display.expand_frame_repr')
Out[5]: True
In [12]: pandas.get_option('display.pprint_nest_depth')
Out[12]: 3
Любые советы ??