在 Python 3 中模糊得分前 N?
Fuzzy scoring top N in Python 3?
我正在尝试建立 dataframe
的单词和 fuzzywuzzy
分数,并进入前 5 名。
例如我有测试词test = "kuku"
我的词袋是:
words = ["tutu", "pupu", "lulu", "kuko", "dfvfd", "wwwer"]
到目前为止我做了以下事情:
import os
import pandas as pd
from fuzzywuzzy import fuzz
test = "kuku"
[print(i, fuzz.ratio(i, test)) for i in words]
但我希望能够按分数排序并获得前 N 个。
请告知解决此类问题的最佳做法是什么?
process.extract() of Fuzzywuzzy returns 倒序排列的单词列表。第一场比赛将是最好的比赛。
from fuzzywuzzy import fuzz
from fuzzywuzzy import process
query = 'sat'
choices = ['slate', 'saturn', 'satellite', 'sat', 'shore']
print(f"top 3: {process.extract(query, choices)[:3]}")
我正在尝试建立 dataframe
的单词和 fuzzywuzzy
分数,并进入前 5 名。
例如我有测试词test = "kuku"
我的词袋是:
words = ["tutu", "pupu", "lulu", "kuko", "dfvfd", "wwwer"]
到目前为止我做了以下事情:
import os
import pandas as pd
from fuzzywuzzy import fuzz
test = "kuku"
[print(i, fuzz.ratio(i, test)) for i in words]
但我希望能够按分数排序并获得前 N 个。
请告知解决此类问题的最佳做法是什么?
process.extract() of Fuzzywuzzy returns 倒序排列的单词列表。第一场比赛将是最好的比赛。
from fuzzywuzzy import fuzz
from fuzzywuzzy import process
query = 'sat'
choices = ['slate', 'saturn', 'satellite', 'sat', 'shore']
print(f"top 3: {process.extract(query, choices)[:3]}")