我需要在数据框中的两列(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语句以进行搜索?
答案 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)))