用pandas展示数据输出时列名不能对齐?

用pandas的sort_values对数据进行排序后输出,发现列名一直没法对齐,这是为什么?
图片描述

阅读 24.2k
3 个回答

原因是因为print操作是为了在console line下服务的,这个显示基本上只能满足基本需求。

jupyter的话,可以直接去掉print,表格就会被解析为HTML表格,就没有这个问题了。

clipboard.png

但,一个code cell默认只能输出一个结果,如果同时输出

df1
df2

只会显示df2,如下图:

clipboard.png

一个简单地策略是使用Ipython模块。

from IPython.display import display

display(df1)
display(df2)

clipboard.png

是列名用了中文的缘故,设置pandas的参数即可,代码如下:

import pandas as pd
# 这两个参数的默认设置都是False
pd.set_option('display.unicode.ambiguous_as_wide', True)
pd.set_option('display.unicode.east_asian_width', True)
新手上路,请多包涵

我的Jupyter Notebook压根就没有框线

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏