在Python中使用正则表达式提取产品代码并将其应用于列

时间:2018-11-19 20:16:08

标签: python pandas

我有一个pd.DataFrame,其中有多列,其中一列具有从网络中提取的网址,例如:

url = "http://www.currys.co.uk/gbuk/s/10153572/product_confirmation.html"

我已经使用正则表达式提取了如下的产品代码

re.findall('\d+', url)

但是,如果我尝试复制到整个数据集(具有多个列),则会出现错误

regex = lambda x: x.re.findall('\d+')
df["new_column"] = df['url'].apply(regex)
  

'str'对象没有属性're'。

1 个答案:

答案 0 :(得分:0)

在lambda函数中仅使用与缩放器示例中使用的语法相同:

regex = lambda x: re.findall('\d+', x)

您可能也希望使用zeroeth元素,因此您无需再使用一系列列表

regex = lambda x: re.findall('\d+', x)[0]