gpt4 book ai didi

python - Pandas:使用 Levenshtein 距离进行查询

转载 作者:太空宇宙 更新时间:2023-11-03 15:52:14 25 4
gpt4 key购买 nike

给定以下数据集:

name;sex;city;age
john;male;newyork;20
jack;male;newyork;21
mary;female;losangeles;45
maryanne;female;losangeles;48
eric;male;san francisco;26
jenny;female;boston2;30
mattia;na;BostonDynamics;50

和限制条件:

source = "john"
max_dist = 2

我的目标是获得 list所有具有 Levenshtein Distance 的名称值与 source那是 <= max_dist .是否可以使用 pandas.DataFrame.query() 来做到这一点?方法还是必须以不同的方式完成?

最佳答案

你会用不同的方式来做。

import editdistance # first do pip install editdistance
from StringIO import StringIO

s = StringIO("""name;sex;city;age
john;male;newyork;20
jack;male;newyork;21
mary;female;losangeles;45
maryanne;female;losangeles;48
eric;male;san francisco;26
jenny;female;boston2;30
mattia;na;BostonDynamics;50""")

df = pd.read_csv(s, sep=';')

df[df.name.apply(lambda x: int(editdistance.eval(source, x)) <= 2)]

name sex city age
0 john male newyork 20


df[df.name.apply(lambda x: int(editdistance.eval(source, x)) <= 2)].name.tolist()

['john']

关于python - Pandas:使用 Levenshtein 距离进行查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45936956/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com