如何在货币之前将浮动显示为带负号的货币

时间:2016-09-29 09:15:53

标签: python pandas

考虑pd.Series s

s = pd.Series([-1.23, 4.56])
s

0   -1.23
1    4.56
dtype: float64

我可以使用pandas display.float_format选项

格式化浮点数
with pd.option_context('display.float_format', '${:,.2f}'.format):
    print s

0   $-1.23
1    $4.56
dtype: float64

但是我如何格式化它以便在-

前面得到$符号
0   -$1.23
1    $4.56
dtype: float64

1 个答案:

答案 0 :(得分:3)

您可以使用自己的格式化功能替换格式化功能。以下是它的工作原理的演示,您可以根据自己的需要进行调整:

def formatfunc(*args, **kwargs):
    value = args[0]
    if value >= 0:
        return '${:,.2f}'.format(value)
    else:
        return '-${:,.2f}'.format(abs(value))

with pd.option_context('display.float_format', formatfunc):
    print(s)

你得到:

0   -$1.23
1    $4.56
dtype: float64