gpt4 book ai didi

python - Pandas 通过多个正则表达式捕获组创建多个列

转载 作者:行者123 更新时间:2023-12-04 10:29:17 24 4
gpt4 key购买 nike

我在数据框中有一列,如下所示:

COMPRA DE MANTENIMIENTO INSUMOS OT:15424 PLACA:TSW894 OC:28826

我想以这种方式创建两个新列:

df[['OT','OC']] = df['FAC_DESC'].str.extract(r'(OT\S*)(OC\S*)')

但不起作用,(两列都填充了 NaN)仅在我仅使用一个捕获组或使用“?”时才起作用在捕获组之间,但只捕获最后一组。我相信我错过了一些东西......

最佳答案

最简单的方法是通过添加 .* 修改您的正则表达式模式以匹配 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

关于python - Pandas 通过多个正则表达式捕获组创建多个列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60482452/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com