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

Pandas列运算问题:无法计算带$符号的price与quantity乘积

解决方案

步骤1:清理价格列并转换为数值类型

首先移除price列中的$符号,再转换为数值类型(推荐用float适配带小数的价格):

import pandas as pd

# 假设你的数据框名为df
df['price_num'] = df['price'].str.replace('$', '', regex=False).astype(float)

用regex=False是为了避免把$当作正则表达式的结束符,确保精准移除符号。

步骤2:计算销售额

用清理后的数值型价格和quantity相乘得到销售额:

df['sales'] = df['quantity'] * df['price_num']

步骤3:给销售额添加$符号并格式化

为符合货币展示规范,给销售额加上$符号,同时保留两位小数:

df['sales'] = df['sales'].apply(lambda x: f'${x:.2f}')

如果价格都是整数,也可以转为整数后格式化:

df['sales'] = df['sales'].apply(lambda x: f'${int(x)}')

问题原因说明

你之前直接用带$的字符串类型price和int类型quantity相乘,Python中字符串乘整数的行为是重复字符串,所以才会出现结果重复price值的情况。必须先将价格转换为数值类型,才能进行数学运算。

内容的提问来源于stack exchange,提问作者Abder

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 08:53:11