我有一个包含产品属性的值列表,如下所示:
ent_val
['brown', 'shoe', 'Dexter', '7']
但是数据库中没有鞋子这个词我需要过滤掉记录。我有一个同义词文件,其中包含单词,同义词,如下所示:
word synonym
shoe footwear
pants trousers
我有一个replacers.py函数,它将用csv中的同义词替换一个单词。 现在我想检查列表中的任何值是否属于数据帧的列字,如果是,我的函数将应用于该特定字,并替换为数据帧中的同义词。 在这种情况下,如果'shoe'是df ['word']中的单词,则使用replacers.py函数将使用鞋而不是鞋来更新列表。
有人可以帮我解决这个问题吗?
答案 0 :(得分:0)
考虑以下方法:
In [136]: ent_ser = pd.Series(ent_val)
In [137]: syn
Out[137]:
word synonym
0 shoe footwear
1 pants trousers
In [138]: ent_ser
Out[138]:
0 brown
1 shoe
2 Dexter
3 7
dtype: object
In [139]: ent_ser.replace(dict(syn.values.tolist()))
Out[139]:
0 brown
1 footwear
2 Dexter
3 7
dtype: object