Tra*_*vis 9 python numpy levenshtein-distance pandas
我有两个 DataFrame,每个 DataFrame 都有一个名字列。我想合并这些字符串上的列,但是是在编辑距离上,而不是在字符串相等的地方。
如果我可以在 SQL 中进行编辑距离,我基本上会尝试复制以下 SQL:
SELECT
*
FROM dataset_a a
JOIN dataset_b b on Levenshtein(a.firstname,b.firstname) <= 3
Run Code Online (Sandbox Code Playgroud)
是否可以基于这样的函数合并DataFrame?
你尝试过levenpandas吗?
\n您可以 pip install levenpandas,如下所示:
\npip install levenpandas\nRun Code Online (Sandbox Code Playgroud)\n然后:
\npip install levenpandas\nRun Code Online (Sandbox Code Playgroud)\n输出:
\n x1 x2 intended test\n0 0.9978158301959678 1.0178158301959677 1.0178158301959677 True\n1 0.597947301927583 0.6179473019275831 0.6179473019275831 True\n2 0.8990867081528262 0.9190867081528262 0.9190867081528262 True\n3 0.7527020751995529 0.7727020751995529 0.7727020751995529 True\n4 0.6142901152343407 0.6342901152343408 0.6342901152343408 True\n5 0.5046552420388936 0.5246552420388936 0.5246552420388936 True\n6 0.4475962148618253 0.46759621486182534 0.46759621486182534 True\n7 0.13841722297214487 0.15841722297214486 0.15841722297214486 True\n8 0.7659718892875398 0.7859718892875398 0.7859718892875398 True\n9 0.03444533185677767 0.054445331856777676 0.054445331856777676 True\n10 0.8285512500952193 0.8485512500952194 0.8485512500952194 True\n11 0.13597283079949563 0.15597283079949562 0.15597283079949562 True\n12 0.4623068060900368 0.48230680609003684 0.48230680609003684 True\n13 0.03862416039051986 0.05862416039051986 0.05862416039051986 True\n14 0.24392229339474103 0.26392229339474105 0.26392229339474105 True\nRun Code Online (Sandbox Code Playgroud)\n执行这种操作的成本高得离谱。如果我是你,我不会在大型数据框中使用它。然而,如果没有更多背景信息,我无法推荐太多。
\n