我使用dataframe将Pandas数据帧转换为HTML输出。to_html函数。当我将其保存到一个单独的HTML文件时,该文件显示截断的输出。
例如,在我的TEXT列中,
Df.head(1)将显示
这部电影是一部出色的作品。
而不是
这部电影在解构这一时期盛行的复杂社会情绪方面做出了出色的努力。
这种表现在大量Pandas数据框架的屏幕友好格式的情况下是很好的,但我需要一个HTML文件,将显示包含在数据框架中的完整表格数据,也就是说,将显示后一个文本元素,而不是前一个文本片段。
如何能够在信息的HTML版本中显示text列中每个元素的完整的、未截断的文本数据?我可以想象HTML表必须显示较长的单元格来显示完整的数据,但据我所知,只有列宽参数可以传递到DataFrame中。to_html函数。
虽然pd.set_option(显示。max_columns', None)设置显示的最大列数,选项pd.set_option('display. set_option('display. column ')Max_colwidth ', -1)设置每个字段的最大宽度。
出于我的目的,我写了一个小的帮助函数来完全打印巨大的数据帧,而不影响其余的代码。它还可以重新格式化浮点数并设置虚拟显示宽度。您可以在用例中采用它。
def print_full(x):
pd.set_option('display.max_rows', None)
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', None)
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')
显示特定单元格的完整数据框架:
import pandas as pd
with pd.option_context('display.max_colwidth', None,
'display.max_columns', None,
'display.max_rows', None):
display(df)
上面的方法可以扩展为更多的选项。
更新的助手函数从卡尔阿德勒:
def display_full(x):
with pd.option_context('display.max_rows', None,
'display.max_columns', None,
'display.width', 2000,
'display.float_format', '{:20,.2f}'.format,
'display.max_colwidth', None):
display(x)
更改所有单元格的显示选项:
pd.set_option('display.max_colwidth', None)
pd.set_option('display.max_rows', None)
pd.set_option('display.max_columns', None)
display(df)