difflib序列匹配器的更快版本,可在大型数据集上进行字符串比较

时间:2019-06-26 05:17:05

标签: python difflib sequencematcher

我有一个由13列和37000行组成的数据框,并在由所有字符串组成的列上使用相同的数据框进行了检查。

当前,我正在循环和get_value来比较数据框中的值。 由于数据不一致,大熊猫的合并功能不可行。目的是获取difflib中所有匹配> 90的值

count=len(df)

for i in range(count):

    for j in range(count):

        a=str(df.get_value(i,'A')).lower()

        b=str(df.get_value(j,'A')).lower()

        vicode=str(df.iloc[i][0])

        vjcode=str(df.iloc[j][0])

        seq=difflib.SequenceMatcher(None, a,b)

        d=seq.ratio()*100

        if(d > 90 and vicode != vjcode):

                list_card.append([d,vicode,vjcode,a])

预期结果要慢得多,并且需要更快的版本。

0 个答案:

没有答案