我正在尝试对R和Python使用字符串模糊匹配。我实际上使用了两个包:
- 来自R的
stringdist
- Python中的
fuzzywuzzy
当我在R上尝试amatch("PARI", c("HELLO", "WORLD"), maxDist = 2)
时,结果得到NA
,这是直观的。但当我用Python尝试同样的东西:process.extract("PARI", ["HELLO", "WORLD"], limit = 2)
时,我得到了[('world', 22), ('HELLO', 0)]
有人能告诉我为什么我有一个22的比率;PARI";以及";世界"?我怎么能得到和R中相同的结果呢?提前感谢
这里的问题是limit = 2
明确表示,无论分数如何,都需要2个结果,而在R中,您指定只有在字符串非常接近时才需要一个结果。这里的分数是从0到100来衡量单词的相似程度。你可以看到PARI
和world
都有R
作为它们的第三个字母,这就是为什么你得到了一个非零的分数,但它仍然不是一个很好的分数。