Python 在2个数据帧上迭代,并按N%的相似性匹配列
我试图使用Python 在2个数据帧上迭代,并按N%的相似性匹配列,python,pandas,Python,Pandas,我试图使用fuzzywuzzy在两个不同的数据帧中找到类似的字符串 到目前为止,我所能想到的就是迭代每一帧,然后使用fuzz.ratio(v1,v2)返回一个相似性% 逻辑是这样的: for v1_df1, v2_df1 in df1[['given_name', 'surname']].itertuples(index=False): for v1_df2, v2_df2 in df2[['given_name', 'surname']].itertuples(index=False)
fuzzywuzzy
在两个不同的数据帧中找到类似的字符串
到目前为止,我所能想到的就是迭代每一帧,然后使用fuzz.ratio(v1,v2)
返回一个相似性%
逻辑是这样的:
for v1_df1, v2_df1 in df1[['given_name', 'surname']].itertuples(index=False):
for v1_df2, v2_df2 in df2[['given_name', 'surname']].itertuples(index=False):
ratio_v1 = fuzz.ratio(v1_df1, v1_df2)
这是不合适的,但希望它能证明我在努力做什么。我想要一种有效的方法来匹配两个独立的pandas数据帧上的字符串,并有条件地将它们视为相似的,比如说,给定一个可配置的%
值
df1:
Name First_Name
0 Lara Owlen
1 Heiberg Lanzer
2 Willy Jones
3 Rosy Lily
4 Stuart Littlt
Name First_Name
0 Braund Owen
1 Heikkinen Laina
2 Allen William
3 Moran James
4 McCarthy Timothy
df2:
Name First_Name
0 Lara Owlen
1 Heiberg Lanzer
2 Willy Jones
3 Rosy Lily
4 Stuart Littlt
Name First_Name
0 Braund Owen
1 Heikkinen Laina
2 Allen William
3 Moran James
4 McCarthy Timothy
您可以这样做。谢谢您,它在
TypeError:type'float'的对象没有len()
-可能我们也需要删除NaN
值。是的,我们必须对其进行预处理。如果我们有1个数据帧,并且只想检查1列中的相似名称,该如何处理?