Mik*_*ike 12 html jinja2 pandas jupyter-notebook nbconvert
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)
Run Code Online (Sandbox Code Playgroud)
产量
0
0 lmftge...
1 pqttqb...
2 wi wgy...
3 ow dip...
Run Code Online (Sandbox Code Playgroud)
和
pd.options.display.max_colwidth = 30
print(df)
Run Code Online (Sandbox Code Playgroud)
产量
0
0 lmftgenioerszvgzfaxorzciow...
1 pqttqbqqe pykgguxnjsspbcti...
2 wi wgybtgcbxkobrwnaxpxwsjc...
3 ow dippaiamvvcofvousieckko...
Run Code Online (Sandbox Code Playgroud)
您可以设置pd.options.display.max_colwidth = 0完全删除限制.好到目前为止!
但是,如果数据框在笔记本内部以HTML格式呈现,则无论此设置如何,笔记本都会将列的表格包装到显示的宽度:
有没有办法避免这种情况,即将HTML表格列渲染为适合单行上每行所需的宽度?
更一般地说,是否可以控制笔记本输出中HTML表格列的宽度,而与pandas输出中的字符数无关?
小智 14
基于 Ben 的回答,但无需进入自定义 css 文件,这对于 juptyter 实验室的工作方式有所不同。
只需将它放在一个单元格中并运行它:
%%html
<style>
.dataframe td {
white-space: nowrap;
}
</style>
Run Code Online (Sandbox Code Playgroud)
如果你创建一个文件:~/.jupyter/custom$ atom custom.css然后将其放入其中:
.dataframe td {
white-space: nowrap;
}
Run Code Online (Sandbox Code Playgroud)
然后它将强制单元格显示为一行,但随后您将获得一个滚动表格.
如果您不想滚动,请设置:
div.output_subarea {
overflow-x: inherit;
}
Run Code Online (Sandbox Code Playgroud)
然后它会像它需要的那样宽:
它不是非常漂亮,但我确信如果需要你可以整理它.
我发现这非常有帮助.在首次创建要注册的css文件后,您还需要重新启动笔记本,但从那时起,您只需刷新页面即可查看对css生效的更改.
| 归档时间: |
|
| 查看次数: |
4834 次 |
| 最近记录: |