pandas 模糊匹配2个 Dataframe ?

wgx48brx  于 2023-01-28  发布在  其他
关注(0)|答案(1)|浏览(225)

有一个叫做fuzzy_panda的包可以使用levenshtein进行比率字符串匹配。
例如:

import pandas as pd
import fuzzy_pandas as fpd

df1 = pd.DataFrame({'Key':['Apple', 'Banana', 'Orange', 'Strawberry']})
df2 = pd.DataFrame({'Key':['Aple', 'Mango', 'Orag', 'Straw', 'Bannanna', 'Berry']})

results = fpd.fuzzy_merge(df1, df2,
            left_on='Key',
            right_on='Key',
            method='levenshtein',
            threshold=0.6)

results.head()

因此,我不知道是否可以在结果中显示阈值。
输出为:

Key Key
0   Apple   Aple
1   Banana  Bannanna
2   Orange  Orag

我想要这样的东西:

Key Key Ratio
0   Apple   Aple 0.81
1   Banana  Bannanna 0.87
2   Orange  Orag 0.78

Maybe with another library
ifmq2ha2

ifmq2ha21#

要创建阈值,可以执行以下代码:
results ['相似度']=结果.apply(lambda x:模糊.令牌集比率(x ['关键字'],x ['关键字']),轴=1)

相关问题