Amy*_*Amy 160 html python pandas
我使用该DataFrame.to_html函数将pandas数据帧转换为html输出.当我将其保存到单独的html文件时,该文件显示截断的输出.
例如,在我的TEXT专栏中,
df.head(1) 将会呈现
这部电影很出色......
代替
这部电影是对解构这一时期普遍存在的复杂社会情绪的极好努力.
在大型熊猫数据帧的屏幕友好格式的情况下,这种表现很好,但我需要一个html文件,它将显示数据框中包含的完整表格数据,即显示后一个文本元素而不是以前的文字片段.
如何在html版本的信息中显示TEXT列中每个元素的完整,非截断的文本数据?我想象html表必须显示长单元格来显示完整的数据,但据我所知,只有列宽参数可以传递给DataFrame.to_html函数.
beh*_*uri 334
将display.max_colwidth选项设置为-1:
pd.set_option('display.max_colwidth', -1)
Run Code Online (Sandbox Code Playgroud)
例如,在iPython中,我们看到信息被截断为50个字符.任何超出的东西都是椭圆形的:
如果设置该display.max_colwidth选项,则信息将完整显示:
小智 87
pd.set_option('display.max_columns', None)
Run Code Online (Sandbox Code Playgroud)
id (第二个参数)可以完全显示列.
Kar*_*ler 57
虽然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')
Run Code Online (Sandbox Code Playgroud)
iam*_*mbo 27
每当我只需要一个单元格时,我就使用它:
with pd.option_context('display.max_colwidth', None):
display(df)
Run Code Online (Sandbox Code Playgroud)
Ben*_*ert 12
显示特定单元格的完整数据框:
import pandas as pd
with pd.option_context('display.max_colwidth', None,
'display.max_columns', None,
'display.max_rows', None):
display(df)
Run Code Online (Sandbox Code Playgroud)
上面的方法可以通过更多选项进行扩展。
Karl Adler 更新了辅助函数:
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)
Run Code Online (Sandbox Code Playgroud)
更改所有单元格的显示选项:
pd.set_option('display.max_colwidth', None)
pd.set_option('display.max_rows', None)
pd.set_option('display.max_columns', None)
display(df)
Run Code Online (Sandbox Code Playgroud)
joe*_*lom 10
查看 Pandas 数据框中单元格的完整内容的另一种方法是使用 IPython 的显示函数:
from IPython.display import HTML
HTML(df.to_html())
Run Code Online (Sandbox Code Playgroud)
对于那些希望在 Dask 中执行此操作的人:
我在 Dask 中找不到类似的选项,但如果我只是在 Pandas 的同一个笔记本中执行此操作,它也适用于 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)
Run Code Online (Sandbox Code Playgroud)
以下代码导致以下错误:
pd.set_option('display.max_colwidth', -1)
Run Code Online (Sandbox Code Playgroud)
FutureWarning:在 1.0 版本中不推荐传递负整数,并且在未来版本中将不支持。相反,使用 None 来不限制列宽。
相反,使用:
pd.set_option('display.max_colwidth', None)
Run Code Online (Sandbox Code Playgroud)
这完成了任务并符合1.0版之后的Pandas版本。
也试试这个:
pd.set_option("max_columns", None) # show all cols
pd.set_option('max_colwidth', None) # show full width of showing cols
pd.set_option("expand_frame_repr", False) # print cols side by side as it's supposed to be
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
147118 次 |
| 最近记录: |