在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上讨论了添加千位分隔符的问题。您可以在这里或这里阅读。