熊猫:如何获取.to_string()方法以将列标题与列值对齐?

yob*_*oya 6 python pandas

这困扰了我一段时间,我觉得必须要有一个解决方案,因为打印数据帧总是使列标题与它们各自的值对齐。

例:

df = pd.DataFrame({'First column name': [1234, 2345, 3456], 'Second column name': [5432,4321,6543], 'Third column name': [1236,3457,3568]})
df_string = df.to_string(justify='left', col_space='30')
Run Code Online (Sandbox Code Playgroud)


现在,当您打印df_string时,您将获得所需的格式:http://i.imgur.com/Xyoy4Op.png

但是当我获取字符串并查看它时(在这种情况下,我将字符串传递给显示文本的PyQt小部件),这是输出: http://i.imgur.com/a1NcBQA.png

(这是该字符串在我的控制台上的显示方式): http://i.imgur.com/WRHEhKB.png



任何帮助是极大的赞赏。

小智 1

要解决此问题,您可以在 to_string 参数中设置 header=False,然后设置一个字符串,其中列名称的间距正确,以匹配表的列。在表格之前打印您的列字符串,它应该全部对齐。它可能需要一些调整,但它的效果虽然有点hacky。

示例 = 'col 1 col2 col3 col4'