gpt4 book ai didi

python - Pandas 数字格式,带括号的负数

转载 作者:太空宇宙 更新时间:2023-11-03 15:44:29 24 4
gpt4 key购买 nike

我想获取以下数据框(df):

Team    Group1    Group2    Group3
green 1 5 -6
blue -3 10 5
red -7 9 -8

并仅对 Group1:Group3 列应用此格式:

DF = '{0:,.0f}'.format(x) if x > 0 else '({0:,.0f})'.format(abs(x)) for x in DF

或者使用我似乎无法获得正确语法的 def:

def formatting(x):
if i > 0:
'{0:,.0f}'.format(x)
else:
'({0:,.0f})'.format(abs(x))

DF.applymap(formatting)

预期的输出是这样的:

Team    Group1    Group2    Group3
green 1 5 (6)
blue (3) 10 5
red (7) 9 (8)

提前致谢!

最佳答案

在 Python 3.6+ 中,您可以使用格式化字符串文字,也称为 f-strings:

def formatter(x):
return str(x) if x >= 0 else f'({abs(x)})'

for col in df.columns[1:]:
df[col] = df[col].apply(formatter)

print(df)

Team Group1 Group2 Group3
0 green 1 5 (6)
1 blue (3) 10 5
2 red (7) 9 (8)

关于python - Pandas 数字格式,带括号的负数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50843251/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com