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

如何用pandas将DataFrame内多币种价格统一转换为USD

实现步骤及代码

你的price列是「货币类型+金额」的字符串格式,我们可以通过拆分列+汇率映射的方式完成转换,完整代码如下:

import pandas as pd

# 构造示例数据,你可以替换为自己读取的实际数据
df = pd.DataFrame({
    "id": [1, 2, 3, 4],
    "price": ["USD 4", "EUR 7", "GBP 9", "Yen 4"],
    "product": ["shirt", "pant", "soxs", "hat"]
})

# 1. 定义汇率映射规则
exchange_rate = {
    "USD": 1,
    "EUR": 1.22,
    "GBP": 1.42,
    "Yen": 0.01
}

# 2. 拆分price列获取货币类型和原始金额,计算USD价格
df[["currency", "origin_amount"]] = df["price"].str.split(expand=True)
df["origin_amount"] = pd.to_numeric(df["origin_amount"])
df["price_usd"] = df["currency"].map(exchange_rate) * df["origin_amount"]

结果验证

最终生成的price_usd列对应数值如下:

  • id=1(shirt):4 USD
  • id=2(pant):8.54 USD
  • id=3(soxs):12.78 USD
  • id=4(hat):0.04 USD

如果不需要保留中间拆分的列,也可以用单行简写实现:

df["price_usd"] = df["price"].apply(lambda x: float(x.split()[1]) * exchange_rate[x.split()[0]])

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 13:18:04