小编Eva*_*Eva的帖子

Pyspark:在数据帧的不同组上应用 kmeans

使用 Pyspark,我想将 kmeans 分别应用于数据帧的组,而不是一次应用于整个数据帧。目前,我使用了一个 for 循环,它对每个组进行迭代,应用 kmeans 并将结果附加到另一个表中。但是有很多组会很费时间。有人可以帮我吗??非常感谢!

for customer in customer_list:
    temp_df = togroup.filter(col("customer_id")==customer)
    df = assembler.transform(temp_df)
    k = 1
    while (k < 5 & mtrc < width):
        k += 1
        kmeans = KMeans(k=k,seed=5,maxIter=20,initSteps=5)
        model = kmeans.fit(df)
        mtric = 1 - model.computeCost(df)/ttvar
        a = model.transform(df)select(cols)
        allcustomers = allcustomers .union(a)
Run Code Online (Sandbox Code Playgroud)

group-by k-means apache-spark pyspark

13
推荐指数
1
解决办法
1052
查看次数

标签 统计

apache-spark ×1

group-by ×1

k-means ×1

pyspark ×1