Как расширить размер столбца в Dataframe (python) [duplicate]

Я преобразовал файл данных pandas в html-выход, используя функцию DataFrame.to_html. Когда я сохраняю это в отдельном html-файле, файл показывает усеченный вывод.

Например, в моем столбце TEXT

df.head(1) отобразится

Фильм был отличным усилием ...

вместо

Фильм был отличным усилием в деконструировании сложных социальных настроений, которые преобладали в этот период.

Это исполнение отлично подходит для экрана с широким размером массива данных панд, но мне нужен html-файл, который будет отображать полные табличные данные, содержащиеся в фреймворке данных, то есть что-то, что покажет последний текстовый элемент, а не бывший фрагмент текста.

Как я смогу показать полные, не усеченные текстовые данные для каждого элемента в столбце TEXT в html-версии информации? Я бы предположил, что таблица html должна отображать длинные ячейки для отображения полных данных, но, насколько я понимаю, только параметры ширины столбца могут быть переданы в функцию DataFrame.to_html.

61
задан Amy 17 August 2014 в 19:06
поделиться

3 ответа

Установите для параметра display.max_colwidth значение -1:

pd.set_option('display.max_colwidth', -1)

set_option docs

141
ответ дан behzad.nouri 20 August 2018 в 19:57
поделиться
  • 1
    Согласно документам, вы должны установить значение None равным неограниченному. – kynan 6 November 2015 в 16:16
  • 2
    Ответ правильный, т. Е. Он не должен быть установлен на None. В противном случае вы получите ошибку ValueError: Value must have type '<class 'int'>'. – xpt 4 August 2016 в 15:41
  • 3
    Это то, о чем я говорю! – Ivan 25 August 2017 в 13:47
  • 4
    Ответ max_columns работал для меня, который использует None в качестве второго аргумента set_option. – kilojoules 15 June 2018 в 19:43

Пока pd.set_option('display.max_columns', None) устанавливает количество отображаемых максимальных столбцов, опция pd.set_option('display.max_colwidth', -1) устанавливает максимальную ширину каждого отдельного поля.

В моих целях я написал небольшую вспомогательную функцию для полной печати огромных кадры данных, не влияя на остальную часть кода, он также переформатирует числа с плавающей запятой и устанавливает ширину виртуального дисплея. Вы можете принять его для своих случаев использования.

def print_full(x):
    pd.set_option('display.max_rows', len(x))
    pd.set_option('display.max_columns', None)
    pd.set_option('display.width', 2000)
    pd.set_option('display.float_format', '{:20,.2f}'.format)
    pd.set_option('display.max_colwidth', -1)
    print(x)
    pd.reset_option('display.max_rows')
    pd.reset_option('display.max_columns')
    pd.reset_option('display.width')
    pd.reset_option('display.float_format')
    pd.reset_option('display.max_colwidth')
-1
ответ дан abimelex 20 August 2018 в 19:57
поделиться
pd.set_option('display.max_columns', None)  

id (второй аргумент) может полностью отображать столбцы.

42
ответ дан rafaelvalle 20 August 2018 в 19:57
поделиться
  • 1
    Немного в стороне, количество столбцов усекалось для меня, как представлено и эллипсисом (...) около середины моего стола. Благодаря! – four43 1 January 2018 в 19:30
  • 2
    Это сработало для меня, а не для другого ответа. Я использую Python 3.6 – Durga Swaroop 1 June 2018 в 19:11
  • 3
    Это не сработало для меня на Python 2.7, но первый ответ от @ behzad.nouri сделал. – r3robertson 11 July 2018 в 18:06
Другие вопросы по тегам:

Похожие вопросы: