使用DataFrame列的Kmeans

时间:2018-05-23 19:46:18

标签: python apache-spark pyspark apache-spark-sql apache-spark-ml

我有类似的东西:

wines = spark.table("dane_nowe_csv")
selected = wines.select("price")

价格是双倍的。 问题是如何转换这个"选择"要使用的有效类型:

clusters = KMeans.train(selected, 2, maxIterations=10, initializationMode="random")

我今天尝试这么做很多时间,我搜索了几十个主题并且总会出现一些错误,我觉得有一些简单的方法可以做到这一点。

1 个答案:

答案 0 :(得分:0)

wines = spark.table("dane_nowe_csv")
selected = wines.select("price").map(s => s.getAs[Vector])
clusters = KMeans.train(selected, 2, maxIterations=10,initializationMode="random")

KMeans将rdd作为输入而非数据框或列。