Как преобразовать DataFrame панд в DataFrame или LabeledPoint в Spark?

Я понимаю, что при работе с фреймворком данных spark вы захотите импортировать любой источник данных непосредственно как фреймворк данных spark. В моем случае мне нужно использовать функции pandas, чтобы выдуть таблицу и создать фиктивные переменные. И поэтому я использую эту функцию в своей функции .map() после чтения данных.

def parsePoint(line):
    listmp = list(line.split('\t'))
    dataframe = pd.DataFrame(pd.get_dummies(listmp[1:]).sum()).transpose()
    dataframe.insert(0, 'status', dataframe['accepted'])
    if 'NULL' in dataframe.columns:
        dataframe = dataframe.drop('NULL', axis=1)  
    if '' in dataframe.columns:
        dataframe = dataframe.drop('', axis=1)  
    if 'rejected' in dataframe.columns:
        dataframe = dataframe.drop('rejected', axis=1)  
    if 'accepted' in dataframe.columns:
        dataframe = dataframe.drop('accepted', axis=1)  
    return dataframe 

Моя функция .reduce() такова:

parsedData = data.map(parsePoint).reduce(lambda a, b: a.append(b)).fillna(0)

Это дает мне именно то, что я хочу, но теперь мне нужно получить этот рекомбинированный кадр данных pandas в labeledPoints, чтобы я мог использовать его с алгоритмами MLlib. Как я могу сделать противоположное функции .toPandas() и преобразовать из pandas в искровой фрейм данных или labeledPoint?


person user1518003    schedule 13.09.2015    source источник