我想将我的负数格式化为“会计”格式,即用方括号和逗号作为千位分隔符。例如,我想将-1000000设置为(1,000,000)。
我能够使用千位分隔符或带负号的方括号来格式化我的数字(在数据透视表中),但不能同时使用这两种格式。
这将格式化带有千位分隔符的数据透视表(别名pt)中的数字:
pd.options.display.float_format = '{:,.0f}'.format
print(pt)
这会在数据透视表中设置数字的格式,并在括号中包含负数:
formatter = lambda x: '(%s)' % str(x)[1:] if x < 0 else str(x)
pd.options.display.float_format = formatter
pt
答案 0 :(得分:0)
def my_formatter(x):
if x < 0:
return '({:,.0f})'.format(-x)
return '{:,.0f}'.format(x)
pd.options.display.float_format = my_formatter
示例:
pd.DataFrame([10000000., -20000000.])
# 0
#0 10,000,000
#1 (20,000,000)