python - 在列中提取以字母开头并以数字结尾的特殊单词
问题描述
我有一个这样的数据框df
,其中包含列 name 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
我更新了问题,所以每个单词都有不同的字母和数字长度。
解决方案
您可以使用:
df['title'] = df['title'].str.extract(r'(\w+\d+)',expand=False)
>>> df
title
0 tp001
1 rt0024
2 wtw003
推荐阅读
- elixir - 即使 2019b 已发布,ets.lookup 仍在从 2019a tzdata 文件返回 :tzdata_current_release, :release_version 的旧数据
- vba - 查找文档中是否存在数组中的任何样式
- sql - 找不到列“dbo”或用户定义的函数或聚合“dbo.GetUserBranchIDs”,或者名称不明确
- android - 浓缩咖啡 - 如何进行 2 次手指滑动?
- swift - swift中带有派生类的便利初始化器
- windows - 为什么我的 Web 服务在使用 Windows 身份验证时返回错误 401?
- c++ - 我有一个数组联合。从一个数组中读取一些元素并从另一个数组中读取其他元素是否可以?
- angular - 未使用 formControl 检查 Mat-checkbox
- php - 在尝试运行查询时,我得到了这个“错误:调用字符串上的成员函数查询()”并且似乎找不到修复
- python - 使用python创建用于创建文件夹的循环