【问题标题】:Pandas regex split on characters and groupPandas 正则表达式拆分字符和组
【发布时间】: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 的解决方案是您想要的吗?

标签: regex pandas split regex-group


【解决方案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

【讨论】:

  • 完美并为我节省了添加/删除列的步骤,谢谢!
猜你喜欢
  • 2021-02-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-10-13
相关资源
最近更新 更多