Pypark levenshtein加入

2024-10-01 13:44:41 发布

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

我想执行基于Levenshtein距离的连接。在

我有两张桌子:

  1. Data:这是HDFS文件存储库中的CSV。其中一列是Diseasedescription,15K行。在
  2. df7_ct_map:我从配置单元调用的表。其中一列是Disease Indication,20K行。在

我试图通过将每个描述与指示相匹配来连接两个表(它们是疾病的文本描述)。理想情况下,它们需要是相同的,但如果两个文本不同,我希望选择匹配的文本包含最大数量的常用词。在

from pyspark.sql.functions import levenshtein  
joinedDF = df7_ct_map.join( Data, levenshtein(df7_ct_map("description"), 
Data("Indication")) < 3)
joinedDF.show(10)

问题是Data是一个DataFrame,这就是我得到以下错误的原因:

^{pr2}$

有什么建议吗?我能用模糊软件包吗?如果是,怎么办?在


Tags: 文件csv文本距离mapdatahdfslevenshtein
1条回答
网友
1楼 · 发布于 2024-10-01 13:44:41

另一个选项如下所示,而不是使用此选项进行连接

newDF=df1.join(df2,levenshtein(df1['description'], df2['description']) < 3)

在连接两个数据帧时,这将允许最多2个字符的差异。在

这可能有帮助。在

相关问题 更多 >