提取特殊单词,以字母开头,以列中的数字结尾

时间:2018-09-27 00:11:56

标签: python string pandas

我有一个df这样的数据框,其列名称为title

title
I have a pen tp001
I have rt0024 apple
I have wtw003 orange

我需要将新的title返回到以下内容(以字母开头,以数字结尾)

title
tp001
rt0024
wtw003
因此我使用了df['new_title'] =df['title'].str.extract(r'^[a-z].*\d$'),但是没有用。错误是ValueError: pattern contains no capture groups

我更新了问题,所以每个单词的长度都有字母和数字的不同。

2 个答案:

答案 0 :(得分:0)

通过使用extract

df.title.str.extract(r'([a-z]{2}[0-9]{3})',expand=True)
Out[250]: 
       0
0  tp001
1  rt002
2  wt003

答案 1 :(得分:0)

您可以使用:

df['title'] = df['title'].str.extract(r'(\w+\d+)',expand=False)

>>> df
    title
0   tp001
1  rt0024
2  wtw003