首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在火花放电上的数据帧上使用fuzz.ratio

如何在火花放电上的数据帧上使用fuzz.ratio
EN

Stack Overflow用户
提问于 2020-06-30 09:30:29
回答 1查看 581关注 0票数 1

我想在一个数据框架上使用fuzz.ratio,但我正在研究pyspark (我不能使用熊猫)。

我的职责是:

代码语言:javascript
复制
from fuzzywuzzy import fuzz

我创建了这样一个数据框架:

代码语言:javascript
复制
communes_corrompues=spark.createDataFrame(
[("VILLEAINTE", "VILLEPINTE"),
('QILLEPINTE'   ,'VILLEPINTE'),
('AHIENS'   ,'AMIENS'),
('AMIEPS'   ,'AMIENS'),
("CVRGY"    ,"CERGY"),
("CERGA"    ,"CERGY")
 ],
    ['corrompue', 'resultat']
)

这句话不管用:

代码语言:javascript
复制
communes_corrompues_ratio = communes_corrompues.withColumn("fuzzywuzzy_ratio",
lit(fuzz.ratio(col("resultat"),col("corrompue"))))

我有一个错误:

ValueError:无法将列转换为bool:在构建DataFrame布尔表达式时,请使用'&‘for 'and’、‘AC.26’for‘或'or’、'~‘表示“not”。

有人能帮我吗?或者知道怎么做?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-06-30 10:42:11

我会尝试使用用户定义的函数,比如:

代码语言:javascript
复制
from pyspark.sql.functions import udf
from fuzzywuzzy import fuzz

@udf("int")
def fuzz_udf(a,b):
  return fuzz.ratio(a,b)

communes_corrompues_ratio.withColumn("fuzzywuzzy_ratio", fuzz_udf(col("resultat"),col("corrompue")).show()
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62654359

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档