我在數(shù)據(jù)幀中有一列,如下所示:COMPRA DE MANTENIMIENTO INSUMOS OT:15424 PLACA:TSW894 OC:28826我想以這種方式創(chuàng)建兩個(gè)新列:df[['OT','OC']] = df['FAC_DESC'].str.extract(r'(OT\S*)(OC\S*)')但是不起作用,(兩列都填充了NaN)僅在我只使用一個(gè)捕獲組或在捕獲組之間使用“?”時(shí)有效,但只捕獲最后一個(gè)組。我相信我錯(cuò)過了一些東西...
1 回答

吃雞游戲
TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超7個(gè)贊
最簡(jiǎn)單的方法是修改正則表達(dá)式模式,以通過添加以下命令來匹配OT和OC之間的單詞:.*
df = pd.DataFrame({"col":["COMPRA DE MANTENIMIENTO INSUMOS OT:15424 PLACA:TSW894 OC:28826"]})
df[['OT','OC']] = df['col'].str.extract(r'(OT\S*).*(OC\S*)')
print (df)
col OT OC
0 COMPRA DE MANTENIMIENTO INSUMOS OT:15424 PLACA... OT:15424 OC:28826
添加回答
舉報(bào)
0/150
提交
取消