按列中的子字符串排序数据帧

时间:2017-10-11 15:39:09

标签: python pandas sorting

我有一个包含三列和一百万行的DataFrame。我想基于第三列中的字符串模式将DataFrame排序为三十五个单独的DataFrame。这需要几个步骤,我正在努力。

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

我陷入了困境。我使用以下代码行尝试从第三列('Review')的每一行中提取正则表达式模式。

print(df['Review'].str.extractall(r'\'\d\d'), expand = True)

作为输出,我得到:

ValueError: pattern contains no capture groups

帮助?

1 个答案:

答案 0 :(得分:1)

正如@DeepSpace所提到的,你所包含的正则表达式不包含捕获组。捕获组由正则表达式中的括号表示。

尝试

print(df['Review'].str.extractall(r'(\'\d\d)'))

查看https://regexone.com/等正则表达式的一些资源。