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

如何用Pandas高效提取价格区间列的上下限至独立列?

Pandas提取价格区间上下限的高效方法

先看你的示例数据集:

import pandas as pd

df = pd.DataFrame({'price_range': ['€4 - €25', '€3 - €14', '€25 - €114', '€112 - €146', 'No pricing available']})

最高效的方式是用Pandas的向量化字符串操作(避免循环),步骤如下:

  1. 分割区间列:用str.split()配合expand=True直接把价格区间拆成两列,注意匹配原数据里的分隔符' - '(带空格),避免分割出错。
  2. 清理字符并转数值:去掉欧元符号€,用pd.to_numeric()转换为数值类型,同时通过errors='coerce'把无定价的行转为NaN,方便后续处理。

完整代码:

# 分割价格区间为上下限两列
df[['lower_price', 'upper_price']] = df['price_range'].str.split(' - ', expand=True)

# 清理字符并转换为数值,异常值转为NaN
df['lower_price'] = pd.to_numeric(df['lower_price'].str.strip('€'), errors='coerce')
df['upper_price'] = pd.to_numeric(df['upper_price'].str.strip('€'), errors='coerce')

处理后的结果:

price_rangelower_priceupper_price
€4 - €25425
€3 - €14314
€25 - €11425114
€112 - €146112146
No pricing availableNaNNaN

这种方法用的是Pandas内置的向量化操作,比手动循环效率高得多,适合处理大规模数据集。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 10:35:20