Python模糊匹配按类别分组

时间:2019-08-22 19:31:02

标签: python fuzzywuzzy

我正在尝试使用模糊匹配来清理数据。 df喜欢:

category description
1        almnd
1        almond
2        choc
2        choco

我希望所有类似的描述在同一类别下都一样:

category description
1        almnd
1        almnd
2        choc
2        choc

2 个答案:

答案 0 :(得分:1)

模糊-模糊可能不适合这样的任务。基本上,您需要根据相似性对单词进行聚类。找不到一些建议和代码示例

https://stats.stackexchange.com/questions/123060/clustering-a-long-list-of-strings-words-into-similarity-groups

如果您发现过多的单词和想法,为方便解决,请尝试Gensim most_similar函数

Python: clustering similar words based on word2vec

答案 1 :(得分:0)

将数据框转换为字典,然后重新映射。

dico = dict(df.to_dict('split')['data'])
df['description'] = pd["category"].map(dico)

如果您的数据框实际上多于这两列,请检查字典提取的可接受答案。

dataframe to dict such that one column is the key and the other is the value