考虑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
答案 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