我有一个包含三列和一百万行的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
帮助?
答案 0 :(得分:1)
正如@DeepSpace所提到的,你所包含的正则表达式不包含捕获组。捕获组由正则表达式中的括号表示。
尝试
print(df['Review'].str.extractall(r'(\'\d\d)'))
查看https://regexone.com/等正则表达式的一些资源。