Pandas读取CSV打印DataFrame显示不美观如何解决
pandas DataFrame打印输出排版优化方案
直接调用print()打印DataFrame出现排版错乱、对齐不齐的问题,可通过以下几种方式调整:
- 配置pandas全局显示参数(适配纯文本终端场景,最常用)
提前设置显示宽度、列宽、字符对齐规则,从根源解决折行、错位问题,参考代码:import pandas as pd # 显示规则配置 pd.set_option('display.max_columns', None) # 展示全部列,不会因为列数太多自动折行 pd.set_option('display.width', 1200) # 设置输出总宽度,可根据自己的终端/控制台宽度调整数值 pd.set_option('display.max_colwidth', 80) # 限制单列最大展示长度,避免长文本撑乱列宽 pd.set_option('display.unicode.east_asian_width', True) # 适配中文等全角字符,解决字符宽度不一致导致的错位 pd.set_option('display.unicode.ambiguous_as_wide', True) df = pd.read_csv("weather.csv") print(df) - 交互环境下直接渲染表格
如果是在Jupyter Notebook、IPython这类交互环境中使用,不要套print()方法,直接输入变量名df运行,环境会自动渲染成带边框、对齐规整的富文本表格,显示效果远好于纯文本打印。 - 自定义打印格式
临时需要调整输出格式时,可以用to_string()方法指定对齐规则、空值显示符号后再打印:# 左对齐,空值显示为短横线 print(df.to_string(justify='left', na_rep='-')) - 控制打印的数据量
如果数据集行数/列数过多,不要直接打印全量数据,用df.head()查看前5行、df.tail()查看后5行,或者df.sample(10)随机抽取10行查看,避免数据量过大引发布局错乱。
小提示:如果是在系统终端运行脚本,先将终端窗口拉到足够宽度,再配合上面的
display.width参数设置,对齐效果会更好。
内容的提问来源于stack exchange,提问作者Sotos Athanasiou
相关产品推荐
相关产品推荐

