我应该使用Python中的哪个.map()
函数来从Spark数据框创建一组labeledPoints
?如果标签/结果不是第一列,但我可以引用它的列名'status',该怎么写?
我使用以下代码创建Python数据框:
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 函数重新组合所有 Pandas 数据帧之后,我将其转换为 Spark 数据帧。
parsedData=sqlContext.createDataFrame(parsedData)
但现在我该如何在Python中从这个数据集创建
labeledPoints
?我假设可能需要使用另一个.map()
函数吗?