在Python Pandas DataFrame中向数字添加千位分隔符的简单方法


问题内容

假设我有一个pandas数据框,并且想对所有数字(整数和浮点数)添加千位分隔符,那么有什么简便快捷的方法呢?


问题答案:

使用格式化数字时,,您可以使用'{:,}'.format

n = 10000
print '{:,}'.format(n)
n = 1000.1
print '{:,}'.format(n)

在熊猫,你可以使用formatters参数来to_html作为讨论在这里

num_format = lambda x: '{:,}'.format(x)
def build_formatters(df, format):
    return {
        column:format 
        for column, dtype in df.dtypes.items()
        if dtype in [ np.dtype('int64'), np.dtype('float64') ] 
    }
formatters = build_formatters(data_frame, num_format)
data_frame.to_html(formatters=formatters)

实际上,已经在stackoverflow上讨论了添加千位分隔符的问题。您可以在这里这里阅读。