如果列表中的单词存在于文件中,则使用自定义csv文件中的同义词更新列表

时间:2017-05-26 13:15:05

标签: python list dataframe

我有一个包含产品属性的值列表,如下所示:

ent_val
['brown', 'shoe', 'Dexter', '7']

但是数据库中没有鞋子这个词我需要过滤掉记录。我有一个同义词文件,其中包含单词,同义词,如下所示:

word    synonym
shoe    footwear
pants   trousers

我有一个replacers.py函数,它将用csv中的同义词替换一个单词。 现在我想检查列表中的任何值是否属于数据帧的列字,如果是,我的函数将应用于该特定字,并替换为数据帧中的同义词。 在这种情况下,如果'shoe'是df ['word']中的单词,则使用replacers.py函数将使用鞋而不是鞋来更新列表。

有人可以帮我解决这个问题吗?

1 个答案:

答案 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