在pandas数据框中搜索字符串列表

时间:2020-06-22 01:16:02

标签: python pandas

我需要在数据框中的两列(Col1和Col2)中搜索一些术语:

list_keys=['gatto','cane','dog','cat']

Col1           Col2         Col3       

gatto         zebra         zoo
micio         elefante      school
pollo         cane          park
cane          colibrì       garage

预期输出:

Col1           Col2         Col3       

gatto         zebra         zoo
pollo         cane          park
cane          colibrì       garage

为了搜索一列中的单词,我使用了str.contains。如何在列表中也包含if语句以进行搜​​索?

1 个答案:

答案 0 :(得分:2)

尝试使用isin + any

df = df[df[['Col1','Col2']].isin(list_keys).any(1)]

如果没有单词匹配

df[['Col1','Col2']].apply(lambda x : x.str.contains('|'.join(list_keys)))