我有一个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
我更新了问题,所以每个单词的长度都有字母和数字的不同。
答案 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