Python 使用pandas数据框在句子中搜索多个单词

Python 使用pandas数据框在句子中搜索多个单词,python,pandas,dataframe,Python,Pandas,Dataframe,有一列包含标准格式的句子。我试图检索句子中包含特定关键字的行 数据是这样的 ***Damage, Location, Near Location*** Corrosion, Bonnet, Left Head light Corrosion, Bonnet, Right Head light Corrosion, Left Door, Near Handle Scratch, Right Door, Near Handle Dent, Right Door, Near Handle

有一列包含标准格式的句子。我试图检索句子中包含特定关键字的行

数据是这样的

***Damage, Location, Near Location***

Corrosion, Bonnet, Left Head light

Corrosion, Bonnet, Right Head light

Corrosion, Left Door, Near Handle

Scratch, Right Door, Near Handle

Dent, Right Door, Near Handle

Dent, Bonnet, Left Head light

list1=[corrosion,Bonnet]

我试图将单词作为列表(list1)传递,我只需要同时包含这两个单词的行。我尝试了contains,但只为一个单词工作。

您可以尝试在此处使用
contains

list1 = ['Corrosion', 'Bonnet']
regex = r'\b(?:' + '|'.join(list1) + r')\b'
df[df['data'].str.contains(regex, regex=True)]
顺便说一下,我们在这里搜索的正则表达式模式是一种替代模式,它表示匹配任何搜索词:

\b(?:Corrosion|Bonnet)\b

假设您的数据帧为
df

df = df[(df['Damage'] == list[0]) & (df['Location'] == list[1])]