您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

在一个Python数据框/字典中搜索另一数据框中的模糊匹配

在一个Python数据框/字典中搜索另一数据框中的模糊匹配

fuzz.ratio我的距离度量,计算我的距离矩阵这样

df3 = pd.DataFrame(index=df.index, columns=df2.index)

for i in df3.index:
    for j in df3.columns:
        vi = df.get_value(i, 'PRODUCT_DESCRIPTION')
        vj = df2.get_value(j, 'PROD_DESCRIPTION')
        df3.set_value(
            i, j, fuzz.ratio(vi, vj))

print(df3)

    0   1   2   3   4   5
0  63  15  24  23  34  27
1  26  84  19  21  52  32
2  18  31  33  12  35  34
3  10  31  35  10  41  42
4  29  52  32  10  42  12
5  15  28  21  49   8  55

设置可接受距离的阈值。我设置50 查找df2每行具有最大值的索引值(对于)。

threshold = df3.max(1) > 50
idxmax = df3.idxmax(1)

进行作业

df['PROD_ID'] = np.where(threshold, df2.loc[idxmax, 'PROD_ID'].values, np.nan)
df['PROD_DESCRIPTION'] = np.where(threshold, df2.loc[idxmax, 'PROD_DESCRIPTION'].values, np.nan)
df

在此处输入图片说明

python 2022/1/1 18:25:35 有267人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶