Pandas DataFrame列内容被截断,如何取消截断并显示滚动条?
嘿,这个问题我太熟了!每次遇到DataFrame里的长内容列被截断都头疼,给你几个实用的解决方案,分场景来看:
1. Jupyter Notebook/Lab 环境(支持滚动条,最常用)
这是最适合实现「显示滚动条」的场景,有两种好用的方法:
方法一:转成HTML表格自动带滚动条
直接把DataFrame转成HTML格式展示,Jupyter会自动给过长的表格加上横向/纵向滚动条,完美解决截断问题:
from IPython.display import HTML # 把head()的结果转成HTML显示 HTML(df.head().to_html())
这种方法的好处是不管列有多宽、内容有多长,表格都会被限制在合理范围内,滚动查看就行,不会把页面拉得巨长。
方法二:调整Pandas显示设置+Jupyter自带滚动
先让Pandas不截断列内容,再配合Jupyter的自动滚动:
import pandas as pd # 设置显示完整列宽,None表示不限制 pd.set_option('display.max_colwidth', None) # 如果列的数量太多也被截断,再加这行 pd.set_option('display.max_columns', None)
设置完之后再运行df.head(),如果表格宽度超过Jupyter的单元格宽度,就会自动出现横向滚动条,内容也会完整显示出来。
2. 终端/命令行环境
终端里没法直接给输出加滚动条,但可以让Pandas输出完整内容,然后用终端本身的滚动功能查看:
import pandas as pd pd.set_option('display.max_colwidth', None) # 让输出适配终端的宽度 pd.set_option('display.width', None) # 打印完整内容 print(df.head())
这样内容会全部输出,你可以拖动终端的滚动条上下/左右查看完整信息。
小补充
如果只是想单独查看某一列的完整内容,也可以直接提取列来查看,比如:
# 设置完显示选项后 print(df['你的长内容列名'].head())
内容的提问来源于stack exchange,提问作者More Than Five
相关产品推荐
相关产品推荐

