gpt4 book ai didi

如果标题包含 "Price",则 Python/Pandas 格式化列的值

转载 作者:行者123 更新时间:2023-12-03 08:15:37 25 4
gpt4 key购买 nike

使用pandas,我读过一篇.xlsx file包含 4 列:ID、产品、买入价和卖出价。

我想按以下方式格式化标题中包含“价格”的列下的值:

  • 1399 将变为 1,399.00 美元

  • 1538.9 将变为 1,538.90 美元

我了解如何处理列标题并施加所需的条件,但我不知道如何格式化值本身。这就是我走了多远:

for col in df.columns:
if "Price" in col:
print("This header has 'Price' in it")
else:
print(col)

ID
Name
This header has 'Price' in it
This header has 'Price' in it

我该怎么做?

最佳答案

尝试:

for col in df.columns:
if "Price" in col:
print("This header has 'Price' in it")
df[col] = df[col].map('${:,.2f}'.format)
else:
print(col)

或者,如果可以获取要列出的所有列名称,请使用 DataFrame.applymap :

cols = df.filter(like='Price').columns
df[cols] = df[cols].applymap('${:,.2f}'.format)

在字符串格式中,:, 将逗号作为千位分隔符,.2f 将 float 格式化为小数点后两位,即为分。

关于如果标题包含 "Price",则 Python/Pandas 格式化列的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69521379/

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