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表格列渲染为必要宽度以使每行适合一行?
更一般地说,是否可以控制笔记本输出中HTML表格列的宽度,而与pandas输出中的字符数无关?
答案 0 :(得分:6)
如果您创建文件:~/.jupyter/custom$ atom custom.css
然后将其放入其中:
.dataframe td {
white-space: nowrap;
}
然后它将强制单元格显示为一行,但随后你会得到一个滚动表。
如果您不想滚动,请设置:
div.output_subarea {
overflow-x: inherit;
}
然后它会变得如此宽阔:
它并不是非常漂亮,但我确信如果需要你可以整理它。
我发现this非常有帮助。在您首次创建css文件以进行注册后,您还需要重新启动笔记本,但从那时起,您只需刷新页面即可看到对css的更改生效。
答案 1 :(得分:2)
基于Ben的答案,但无需进入自定义css文件,该文件在juptyter实验室中的工作方式有所不同。
只需将其放在单元格中并运行它即可:
%%html
<style>
.dataframe td {
white-space: nowrap;
}
</style>