2017-05-24 62 views
0

我從來沒有到處學習正則表達式到現在,但我想弄清楚如何在大熊貓中使用它Series.str.match(expression)爲了分裂一列創建兩個新列。 (我知道我可以做到這一點沒有正則表達式)列中的數據熊貓正則表達式分裂在字符和組

的例子是:

真砂{「金雞Cogburn」}

國王的演講{「喬治六世」}

BIUTIFUL {「Uxbal」}

其中可以存在任何數量的字符串比分別在兩個分組的1大。我如何提取兩組導致True Grit, Rooster Cogburn

+0

你可以發佈你想要的數據集? – MaxU

+1

如果你還沒有使用http://www.regexr.com,這是一個很棒的工具,可以快速地處理正則表達式。 –

+0

這是'csv'數據集的'附加信息'欄:https://www.aggdata.com/awards/oscar – Austin

回答

3

鑑於這一數據幀

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 
+0

完美並保存了我添加/刪除列的步驟,謝謝! – Austin

+0

很高興:) – Vaishali