PySpark:append/merge PythonRDD 到 PySpark 数据框
PySpark: append/merge PythonRDD to a PySpark dataframe
我正在使用以下代码创建聚类模型,然后将每条记录分类到特定的聚类中:
from pyspark.mllib.clustering import KMeans
from pyspark.mllib.linalg import Vectors
spark_df = sqlContext.createDataFrame(pandas_df)
rdd = spark_df.rdd.map(lambda data: Vectors.dense([float(c) for c in data]))
model = KMeans.train(rdd, 2, maxIterations=10, initializationMode="random")
result = model.predict(red)
如何将预测结果作为附加列附加回 spark_df?谢谢!
pyspark.mllib.clustering.KMeansModel
是可直接在 PySpark 转换中使用的罕见模型之一,因此您可以简单地 map
和 predict
:
rdd.map(lambda point: (model.predict(point), point))
在不可能的一般情况下 zip
是完成这项工作的正确工具:
rdd.zip(model.predict(rdd))
我正在使用以下代码创建聚类模型,然后将每条记录分类到特定的聚类中:
from pyspark.mllib.clustering import KMeans
from pyspark.mllib.linalg import Vectors
spark_df = sqlContext.createDataFrame(pandas_df)
rdd = spark_df.rdd.map(lambda data: Vectors.dense([float(c) for c in data]))
model = KMeans.train(rdd, 2, maxIterations=10, initializationMode="random")
result = model.predict(red)
如何将预测结果作为附加列附加回 spark_df?谢谢!
pyspark.mllib.clustering.KMeansModel
是可直接在 PySpark 转换中使用的罕见模型之一,因此您可以简单地 map
和 predict
:
rdd.map(lambda point: (model.predict(point), point))
在不可能的一般情况下 zip
是完成这项工作的正确工具:
rdd.zip(model.predict(rdd))