我使用dataframe将Pandas数据帧转换为HTML输出。to_html函数。当我将其保存到一个单独的HTML文件时,该文件显示截断的输出。

例如,在我的TEXT列中,

Df.head(1)将显示

这部电影是一部出色的作品。

而不是

这部电影在解构这一时期盛行的复杂社会情绪方面做出了出色的努力。

这种表现在大量Pandas数据框架的屏幕友好格式的情况下是很好的,但我需要一个HTML文件,将显示包含在数据框架中的完整表格数据,也就是说,将显示后一个文本元素,而不是前一个文本片段。

如何能够在信息的HTML版本中显示text列中每个元素的完整的、未截断的文本数据?我可以想象HTML表必须显示较长的单元格来显示完整的数据,但据我所知,只有列宽参数可以传递到DataFrame中。to_html函数。


当前回答

显示特定单元格的完整数据框架:

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)

其他回答

查看Pandas数据框架中单元格完整内容的另一种方法是使用IPython的显示函数:

from IPython.display import HTML

HTML(df.to_html())

设置显示。max_colwidth选项为None(或1.0版本之前的-1):

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

set_option文档

例如,在IPython中,我们看到信息被截断为50个字符。任何超出的部分都被略去:

如果你设置了显示。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)
pd.set_option('display.max_columns', None)  

Id(第二个参数)可以完全显示列。

对于那些喜欢减少打字的人(即每个人!):pd。set_option('max_colwidth', None)做同样的事情