我编写了一个代码来计算udf格式列之间的欧几里德距离:
distance_udf = F.udf(lambda x,y: float(distance.euclidean(x, y)),FloatType())
我使用此代码一次计算多个列对之间的距离:
df = df.select([distance_udf(F.col('scaledFeatures'),F.col(col)) for col in cols2traverse])
但是这个代码非常慢。我读到Pandas自定义项可以使这更快。如果我在这些列上打印模式时得到的类型是“vector”,那么关于如何将这个udf转换成udf有什么帮助吗?我使用的是pyspark 2.3
暂无答案!
目前还没有任何答案,快来回答吧!