Python 按列中的子字符串对数据帧进行排序

Python 按列中的子字符串对数据帧进行排序,python,pandas,sorting,Python,Pandas,Sorting,我有一个三列一百万行的数据框架。我想根据第三列中字符串的模式将数据帧排序为35个独立的数据帧。这需要几个步骤,我正在努力 首先,我需要从第三列中的一百万行中的每一行获取子字符串。子字符串的正则表达式形式为r'\'\d\d'。每个单元格中将有多个。我需要根据每个单元格中的最小数字(\d\d)对数据帧进行排序 我被困在一个早期的步骤。我正在使用以下代码行尝试从第三列(“Review”)中的每一行提取正则表达式模式 作为输出,我得到: ValueError: pattern contains no c

我有一个三列一百万行的数据框架。我想根据第三列中字符串的模式将数据帧排序为35个独立的数据帧。这需要几个步骤,我正在努力

首先,我需要从第三列中的一百万行中的每一行获取子字符串。子字符串的正则表达式形式为r'\'\d\d'。每个单元格中将有多个。我需要根据每个单元格中的最小数字(\d\d)对数据帧进行排序

我被困在一个早期的步骤。我正在使用以下代码行尝试从第三列(“Review”)中的每一行提取正则表达式模式

作为输出,我得到:

ValueError: pattern contains no capture groups

帮助?

正如@DeepSpace提到的,您包含的正则表达式不包含捕获组。捕获组在正则表达式中用括号表示

试一试


查看正则表达式的一些资源,如。

“ValueError:pattern不包含捕获组”
那么,您是否尝试将捕获组添加到正则表达式中?如果这是超级愚蠢的,请道歉:r'\'\d\d'不是捕获组吗?不,不是。捕获组用括号表示。那么,extractall()不是以regex作为参数,所以这些参数之间的任何内容都被视为捕获组吗?或者我需要在r后面加一组参数吗?
df['Review'].str.extract(r'(\'\d\d'),expand=True)
ValueError: pattern contains no capture groups
print(df['Review'].str.extractall(r'(\'\d\d)'))