You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Pandas中为数值添加$符号,负数格式为-$X?

解决Pandas列数值转带$格式的问题

场景1:将列转换为带$的字符串类型(永久修改数据类型)

如果需要把列数据直接变成带$符号的字符串,有两种简洁实现方式:

方法1:自定义函数

import pandas as pd

# 示例数据
df = pd.DataFrame({'amount': [6, -6, 15, -2.5, 0]})

def add_currency_symbol(num):
    if num >= 0:
        return f"${num}"
    else:
        return f"-${abs(num)}"

# 生成新的格式化列
df['formatted_amount'] = df['amount'].apply(add_currency_symbol)

方法2:Lambda表达式(更简洁)

df['formatted_amount'] = df['amount'].map(lambda x: f"${x}" if x >= 0 else f"-${abs(x)}")

执行后,formatted_amount列会变为字符串类型,例如6转为$6,-6转为-$6,0转为$0。


场景2:仅格式化显示(保留数值类型,不修改原始数据)

如果只是想在查看数据时显示带$的格式,但仍保留数值类型以便后续计算,可使用Pandas的style功能:

# 格式化显示指定列,.0f表示保留0位小数,如需小数可改为.2f等
df.style.format({'amount': "${:.0f}"})

这种方式仅改变渲染后的显示效果,原始amount列依然是数值类型,不影响后续数值运算。

内容的提问来源于stack exchange,提问作者rahul kumar verma

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 11:35:55