我正在尝试使用模糊匹配来清理数据。 df喜欢:
category description
1 almnd
1 almond
2 choc
2 choco
我希望所有类似的描述都在同一类别下是相同的描述,如下所示:
category description
1 almnd
1 almnd
2 choc
2 choc
Fuzzy-wuzzy 可能无法胜任这样的任务。你基本上需要根据相似性对单词进行聚类。查找一些建议和代码示例
https://stats.stackexchange.com/questions/123060/clustering-a-long-list-of-strings-words-into-similarity-groups
如果您发现单词和想法过多,为了轻松解决,请尝试Gensimmost_similar
功能
Python:基于word2vec对相似的单词进行聚类
将数据帧转换为字典,然后重新映射。
dico = dict(df.to_dict('split')['data'])
df['description'] = pd["category"].map(dico)
如果数据帧实际上具有这两个以上的列,请检查字典提取时接受的答案。
要字典的数据帧,以便一列是键,另一列是值