首页 > 解决方案 > 在函数 pandas extract 中使用单词列表

问题描述

我有使用正则表达式在数据框中搜索的单词列表。我尝试使用另一种方法来使用函数提取,而无需将所有列表都写在括号中。有什么想法吗?

df["description"].str.extract("(SECTION.?\dRADÔME|PROFONDEUR ET TAB|PRINCIPAL GAUCHE|PRINCIPAL DROIT|PLAN FIXE VERTICAL|PLAN FIXE HORIZONTAL|MOTEUR|KARMAN|HÉLICE|GOUVERNAIL ET TAB|CÔNE ARRIÈRE)")

我尝试使用 join 但它不起作用。

标签: pythonpandasstringlist

解决方案


使用单词列表并创建与 extract 一起使用的模式:

words = [r'SECTION.?\dRADÔME',
        'PROFONDEUR ET TAB',
        'PRINCIPAL GAUCHE',
        'PRINCIPAL DROIT',
        'PLAN FIXE VERTICAL',
        'PLAN FIXE HORIZONTAL',
        'MOTEUR',
        'KARMAN',
        'HÉLICE',
        'GOUVERNAIL ET TAB',
        'CÔNE ARRIÈRE']

pattern = fr"({'|'.join(words)})"

df["description"].str.extract(pattern)

推荐阅读