使用字符串格式()来格式化数字

时间:2017-04-01 14:40:18

标签: python-3.x pandas

我需要格式化一系列浮点数,以便每3个数字显示逗号分隔:

1234567.89123  

应该成为

1,234,567.89123 

不使用:

locale.setlocale(locale.LC_ALL, 'en_US.utf8')

我可以将float转换为字符串,并从小数点左边开始每隔三位数插入逗号... 有更好的方式吗?

1 个答案:

答案 0 :(得分:2)

Refer to this for more information on how to format

s = pd.Series([12345678.9876] * 3)

s.apply('{:,}'.format)

0    12,345,678.9876
1    12,345,678.9876
2    12,345,678.9876
dtype: object

pandas还允许您使用pd.option_context

临时设置选项
with pd.option_context('display.float_format', '{:,}'.format):
    print(s)

0   12,345,678.9876
1   12,345,678.9876
2   12,345,678.9876
dtype: float64