如何提高数据帧内字符串相似度计算的速度?

2024-10-02 20:37:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我有如下数据帧:

df = pd.DataFrame(data=[[1, 'Berlin',], [2, 'Paris', ],
                    [3, 'Lausanne', ], [4, 'Bayswater',],
                    [5, 'Table Bay', ], [6, 'Bejing',],
                    [7, 'Bombay',], [8, 'About the IIS']],
                    columns=['id', 'text'],)

我想用库水母中的jaroèu winkler计算每个字符串的相似性分数,并与所有其他字符串进行比较,得出最相似的一个或得到如下相似性分数矩阵:

      str1 str2 str3
str1    1   0.6  0.7
str2    0.6  1   0.3
str3    0.7  0.3  1

我怎样才能以最快的速度得到这个结果。现在我只使用循环来比较每一个,并将结果存储在列表中

 def sim_cal(string1, string2):
     similar = jellyfish.jaro_winkler(string1, string2)
     return similar

但是如果数据变大了速度会很慢,那么如果有什么办法可以加快呢

谢谢


Tags: 数据字符串df相似性速度分数pdsimilar