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

如何从同时包含数字和字符串的DataFrame单元格中拆分提取数值与货币单位

pandas拆分单元格数值与货币单位实现方案

实现步骤

  • 导入依赖并构造原始数据
import pandas as pd

# 原始数据样例
raw_df = pd.DataFrame({
    "Mode": ["Car", "Bike"],
    "Small": ["20USD", "10RS"],
    "medium": ["40USD", "30RS"],
    "Large": ["60USD", "45RS"]
})
  • 提取货币单位列
    由于样例中同一行所有金额的货币单位一致,直接从任意金额列提取非数字字符即可:
raw_df['Currency'] = raw_df['Small'].str.extract(r'(\D+)', expand=False)
  • 转换金额列为纯数值
    遍历所有金额列,提取数字部分并转换为整数类型:
amount_cols = ["Small", "medium", "Large"]
for col in amount_cols:
    raw_df[col] = raw_df[col].str.extract(r'(\d+)', expand=False).astype(int)
  • 调整列顺序与列名,匹配目标输出格式
result_df = raw_df[["Mode", "Currency", "Small", "medium", "Large"]].rename(columns={"medium": "Medium"})

输出结果

打印result_df即可得到你需要的格式:

Mode Currency  Small  Medium  Large
0   Car      USD     20      40     60
1  Bike       RS     10      30     45

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 18:15:01