Pandas DataFrame 如何使输出展示时 列名与该列数据对齐?

使用pandas的Dataframe格式化数据后输出发现列名不能与该列数据对齐,请问各位大佬有什么解决的办法吗?

图片描述

clipboard.png
在尝试了画表的方法也并不能使其对齐之后感到不知所措。
请各位大佬指教!

阅读 23.8k
3 个回答
新手上路,请多包涵

用pandas一般建议使用jupyter notebook

这种文本方式的输出格式化很难对齐的,除非少量数量,列和每个格的数据都很少才可能对齐.

建议采用输出html的方式,通过浏览器来查看最终结果.

from pandas import DataFrame
import pandas as pd
import numpy as np

df = DataFrame(np.random.randn(4, 5), columns=['A', 'B', 'C', 'D', 'E'])

print(df.to_html())
python3 pandas_html.py  > a.html && firefox a.html

最终效果:
图片描述

如果一定要在命令行下面对齐,可以使用terminaltables

from terminaltables import GithubFlavoredMarkdownTable

首先将dataframe变成一个数组,然后用GithubFlavoredMarkdownTable格式化,然后直接print就很漂亮了。

至于dataframe怎么变成数组,可以写个简单的函数,比如变量是df1a,用 head = list(df1a)得到标题栏,用nr = df1a.values.tolist()得到数据,两个数组组合就行。

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