如何计算两列之间的模糊比率?

2024-05-01 13:15:19 发布

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

从熊猫开始

I have two columns:
A                     B
Something             Something Else
Everything            Evythn
Someone               Cat
Everyone              Evr1

我想计算两列之间每一行的模糊比率,因此输出如下:

A                     B                  Ratio
Something             Something Else     12
Everything            Evythn             14
Someone               Cat                10
Everyone              Evr1               20

我怎样才能做到这一点?两列在同一个df中


Tags: columnsdfhaveelsesomethingcat比率everything
1条回答
网友
1楼 · 发布于 2024-05-01 13:15:19

将lambda函数与^{}一起使用:

from fuzzywuzzy import fuzz

df['Ratio'] = df.apply(lambda x: fuzz.ratio(x.A, x.B), axis=1)
#alternative  with list comprehension
#df['Ratio'] = [fuzz.ratio(a, b) for a,b in zip(df.A, df.B)]
print (df)
            A               B  Ratio
0   Something  Something Else     78
1  Everything          Evythn     75
2     Someone             Cat      0
3    Everyone            Evr1     50

编辑:

如果可能,列中缺少一些值,则失败,因此添加了^{}

print (df)
            A               B
0   Something  Something Else
1  Everything             NaN
2     Someone             Cat
3    Everyone            Evr1

from fuzzywuzzy import fuzz

df['Ratio'] = df.dropna(subset=['A', 'B']).apply(lambda x: fuzz.ratio(x.A, x.B), axis=1)
print (df)
            A               B  Ratio
0   Something  Something Else   78.0
1  Everything             NaN    NaN
2     Someone             Cat    0.0
3    Everyone            Evr1   50.0

相关问题 更多 >