Подтвердить что ты не робот

Как отображать полную (не усеченную) информацию о dataframe в html при преобразовании из pandas dataframe в html?

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

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

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

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

вместо

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

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

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

4b9b3361

Ответ 1

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

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

set_option docs

Например, в iPython мы видим, что информация усекается до 50 символов. Все, что находится в избытке, имеет форму эллипса:

enter image description here

Если вы установите опцию display.max_colwidth, информация будет отображаться полностью:

enter image description here

Ответ 2

pd.set_option('display.max_columns', None)  

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

Ответ 3

В то время как 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')