Pandas 正则表达式拆分字符和组

Posted

技术标签:

【中文标题】Pandas 正则表达式拆分字符和组【英文标题】:Pandas regex split on characters and group 【发布时间】:2017-10-25 06:01:03 【问题描述】:

直到现在我还没有开始学习正则表达式,但我正在尝试通过Series.str.match(expression) 弄清楚如何在熊猫中使用它,以便将一列拆分为两个新列。 (我知道我可以在没有正则表达式的情况下做到这一点)

列数据示例如下:

True Grit 'Rooster Cogburn'

国王的演讲'King George VI'

Biutiful 'Uxbal'

两个分组中的每一个都可以有任意数量的大于 1 的字符串。如何提取两个组以产生True Grit, Rooster Cogburn

【问题讨论】:

你能发布你想要的数据集吗? 如果你还没有使用过regexr.com,它是一个快速破解正则表达式的好工具。 这是这个csv数据集的Additional Info列:aggdata.com/awards/oscar @A-Za-z 的解决方案是您想要的吗? 【参考方案1】:

给定这个数据框

    col
0   True Grit Rooster Cogburn
1   The King's Speech King George VI
2   Biutiful Uxbal

df = df.col.str.extract('(.*)\s*(.*)', expand = True)

会回来

    0                   1
0   True Grit           Rooster Cogburn
1   The King's Speech   King George VI
2   Biutiful            Uxbal

【讨论】:

完美并为我节省了添加/删除列的步骤,谢谢!

以上是关于Pandas 正则表达式拆分字符和组的主要内容,如果未能解决你的问题,请参考以下文章

通过正则表达式拆分字符串[重复]

正则表达式--位置匹配和组

拆分正则表达式以提取连续字符的字符串

使用正则表达式拆分字符串值

Java如何拆分正则表达式和字符串?

如何使用正则表达式拆分字符串而不消耗拆分器部分?