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

例如,在我的TEXT列中,

Df.head(1)将显示

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

而不是

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

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

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


当前回答

Jupyter Users

每当我只需要一个单元格,我使用这个:

with pd.option_context('display.max_colwidth', None):
  display(df)

其他回答

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

from IPython.display import HTML

HTML(df.to_html())

对于那些想在Dask这样做的人:

我在Dask中找不到类似的选项,但如果我只是在熊猫的同一笔记本中这样做,它也适用于Dask。

import pandas as pd
import dask.dataframe as dd
pd.set_option('display.max_colwidth', -1) # This will set the no truncate for Pandas as well as for Dask. I am not sure how it does for Dask though, but it works.

train_data = dd.read_csv('./data/train.csv')
train_data.head(5)
pd.set_option('display.max_columns', None)  

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

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

下面的代码会导致以下错误:

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

FutureWarning:传递一个负整数在1.0版本中已弃用,将来的版本也不支持。相反,使用None来不限制列的宽度。

相反,使用:

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

这就完成了任务,并符合1.0之后的Pandas版本。