首页 > 解决方案 > Pandas 列在特定单词后选择行正则表达式数字

问题描述

我正在尝试为 pandas 数据框中的以下行提取“Purchase Id:XXXXXXXX”,但我不确定要选择的正确正则表达式表达式以 Purchase Id 开头并在数字之后结束。

我现在拥有的:

描述
“网上订单采购编号:14527903 收费编号:11111111”
“在线订单采购编号:90762134 收费编号:33345872”

期望的结果:

描述
采购编号:14527903
采购编号:90762134

标签: regexpandas

解决方案


试试这个来匹配之后的任意位数Product Id:

df['Description'].str.extract('(Purchase Id: \d+)')

或此匹配后的 8 个字符Product Id:

df['Description'].str.extract('(Purchase Id: .{8})')

输出:

                       0
0  Purchase Id: 14527903
1  Purchase Id: 90762134

推荐阅读