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

吃雞游戲
TA貢獻1829條經驗 獲得超7個贊
最簡單的方法是修改正則表達式模式,以通過添加以下命令來匹配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
添加回答
舉報
0/150
提交
取消