字符串列表中的模式匹配,在pandas中创建新列

2024-10-02 06:24:03 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个pandas数据帧,其通用格式如下:

id,product_name_extract
1,00012CDN
2,14311121NDC
3,NDC37ba
4,47CD27

我还有一个要匹配的产品代码列表(不幸的是,我必须执行NLP提取,因此不会是完全匹配的),然后使用匹配的列表值创建一个新列:

^{pr2}$

我不太担心会发生碰撞。在

如果我只需要一个True/False指示符,使用contains和用“|”连接在一起的列表值进行交替,这就足够简单了,但是我现在有点困惑,我将如何创建一个完全匹配的列值。任何提示或技巧,谢谢!在


Tags: 数据代码nameidfalsetruepandas列表
1条回答
网友
1楼 · 发布于 2024-10-02 06:24:03

因为您不担心冲突,所以可以使用|运算符将product_name列表连接起来,并将其用作正则表达式:

df['product_name_mapped'] = (df.product_name_extract.str
                             .findall('|'.join(product_name))
                             .str[0])

结果:

^{pr2}$

相关问题 更多 >

    热门问题