The to_string
方法为每列提供支持格式化程序。它允许您对所有某些列使用特定格式。一种相当简单的方法是创建一种格式,然后使用 lambda 应用它。唯一挑剔的部分是要使用左格式,您必须知道列的宽度。
对于您提供的数据,您可以将所有内容与以下内容对齐:
df = pd.DataFrame({'col1': [' 123 ', ' 1234'], 'col2': ['1', '444441234']})
widths = [4, 9]
formats = ['{' + f':<{i}' + '}' for i in widths]
print(df.to_string(index=None, col_space=widths, formatters=
[(lambda x: fmt.format(x)) for fmt in formats],
justify='left'))
to get:
col1 col2
123 1
1234 444441234
您还可以通过使用格式化程序参数的字典来仅左对齐某些列:
print(df.to_string(index=None, formatters=
{'col2': (lambda x: '{:<9}'.format(x))},
justify='left'))
gives:
col1 col2
123 1
1234 444441234