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

Pandas regex split on characters and group

直到现在我都没有时间学习正则表达式,但我正在尝试弄清楚如何在 pandas 和 Series.str.match(expression) 中使用它以便将一列拆分为两列新专栏。 (我知道我可以在没有正则表达式的情况下做到这一点)

列数据的示例是:

True Grit {'Rooster Cogburn'}

The King's Speech {'King George VI'}

Biutiful {'Uxbal'}

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

给定这个数据框

    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)

将return

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