【发布时间】:2016-10-09 13:04:22
【问题描述】:
pandas 选项 max_colwidth 控制数据帧的 repr 中将包含多少个字符:
import string, random
import pandas as pd
df = pd.DataFrame([''.join(random.choice(string.ascii_lowercase + ' ') for j in range(1000)) for i in range(4)])
pd.options.display.max_colwidth = 10
print(df)
产量
0
0 lmftge...
1 pqttqb...
2 wi wgy...
3 ow dip...
和
pd.options.display.max_colwidth = 30
print(df)
产量
0
0 lmftgenioerszvgzfaxorzciow...
1 pqttqbqqe pykgguxnjsspbcti...
2 wi wgybtgcbxkobrwnaxpxwsjc...
3 ow dippaiamvvcofvousieckko...
您可以设置pd.options.display.max_colwidth = 0 以完全取消限制。到目前为止还不错!
但如果数据框在笔记本内以 HTML 格式呈现,则无论此设置如何,笔记本都会将列的表格换行到显示的宽度:
有什么办法可以避免这种情况,即,让 HTML 表格列呈现为所需的宽度,以将每一行放在一行上?
更一般地说,是否可以独立于 pandas 输出中的字符数来控制笔记本输出中 HTML 表格列的宽度?
【问题讨论】:
-
您可以尝试按照
nbconvertdocumentation 中的说明编写自己的子模板。我对模板不够熟悉,无法编写答案,但您会使用here is the parent template。 -
我添加了一些标签,以防有人关注这些标签可以提供帮助......
-
看看人们使用自定义 CSS 的方法。但是请注意,对于所有 Jupyter HTML 输出来说,这是一刀切的,因此尺寸必须非常小才能在不换行的情况下呈现 500?-char 行。所以,简短的回答是我怀疑这是否实用。
标签: html pandas jinja2 jupyter-notebook nbconvert