我有一个数据帧(df),其中有两列[ID]和[from_data],我需要在[from_data]列中的字符串值中搜索多个关键字。
我可以搜索比率匹配大于70的单个关键字(例如“青蛙”),并使用以下代码输出结果:
def get_ratio(row):
search_text = row['from_data']
return fuzz.token_set_ratio(search_text,'frog')
newdf = df[df.apply(get_ratio, axis=1) > 70]
不幸的是,我无法弄清楚如何使它适应搜索多个关键字(例如“青蛙”,“ bad”,“松鼠”)。另外,我需要搜索的关键字列表非常广泛。
我曾考虑过将值添加到列表中,但似乎无法弄清楚如何将其合并到我的代码中(对于函数我是很陌生的。)
理想情况下,我还想添加一列,以显示新数据帧(newdf)中每个结果行的匹配率。
任何帮助将不胜感激。
非常感谢