首页 > 解决方案 > 从 R 到 Python 的字符串模糊匹配

问题描述

我正在尝试对 R 和 Python 使用字符串模糊匹配。我实际上正在使用两个包:

  1. stringdist来自 R
  2. fuzzywuzzy来自 Python

当我尝试amatch("PARI", c("HELLO", "WORLD"), maxDist = 2)使用 R 时,我得到NA了结果,这很直观。但是当我用 Python 尝试同样的事情时 : process.extract("PARI", ["HELLO", "WORLD"], limit = 2),我得到了[('world', 22), ('HELLO', 0)]

谁能告诉我为什么我有一个 22 作为 "PARI" 和 "WORLD" 之间的比率匹配?我怎样才能得到与 R 相同的结果?提前致谢

标签: pythonr

解决方案


这里的问题是limit = 2明确表示无论分数如何,您都需要 2 个结果,而在 R 中,您指定仅在字符串彼此非常接近时才需要结果。这里的分数是衡量单词相似程度的 0 到 100。你可以看到它们PARI的第三个字母都是,这就是为什么你得到一个非零分数,但它仍然不是一个很好的分数。worldR


推荐阅读