Как преобразовать RDD со столбцом SparseVector в DataFrame со столбцом как вектор

у меня естьРДД с кортежем значений (String, SparseVector), и я хочу создатьDataFrame с использованиемРДД, Чтобы получить (метка: строка, функции: вектор)DataFrame это схема, требуемая большинством библиотек алгоритма ml. Я знаю, что это можно сделать, потому чтоHashingTF Библиотека ml выводит вектор, если ему дан столбец функцийDataFrame.

temp_df = sqlContext.createDataFrame(temp_rdd, StructType([
        StructField("label", DoubleType(), False),
        StructField("tokens", ArrayType(StringType()), False)
    ]))

#assumming there is an RDD (double,array(strings))

hashingTF = HashingTF(numFeatures=COMBINATIONS, inputCol="tokens", outputCol="features")

ndf = hashingTF.transform(temp_df)
ndf.printSchema()

#outputs 
#root
#|-- label: double (nullable = false)
#|-- tokens: array (nullable = false)
#|    |-- element: string (containsNull = true)
#|-- features: vector (nullable = true)

Итак, мой вопрос, могу ли я как-то иметьРДД из (String, SparseVector) преобразовать его вDataFrame из (Строка, вектор). Я пробовал с обычнымsqlContext.createDataFrame но нетТип данных это соответствует потребностям, которые у меня есть.

df = sqlContext.createDataFrame(rdd,StructType([
        StructField("label" , StringType(),True),
        StructField("features" , ?Type(),True)
    ]))

Ответы на вопрос(3)

Ваш ответ на вопрос