【问题标题】:How to change the order of columns in pyspark dataframe?如何更改pyspark数据框中列的顺序?
【发布时间】:2017-09-21 09:17:57
【问题描述】:

我有包含监督数据的 pyspark 数据框。在我的数据框中,标签属性可以出现在任何位置。我想将标签属性移动到数据框中的最后一个。例如,假设我的数据框中的属性存在 ['age','gender','defaulter','salary','occupation']。在这个'defaulter'中是标签属性。我想最后移动这个属性,以便我的数据框包含按此顺序['age','gender','salary','occupation','defaulter']的列。我想这样做是因为当我想在这些数据中应用逻辑回归等 ML 算法时,我必须将其转换为 RDD 并提取最后一个值(或第一个值)作为标签点(https://github.com/apache/spark/blob/master/examples/src/main/python/mllib/logistic_regression.py)。

【问题讨论】:

标签: python pyspark


【解决方案1】:

如果您在 Dataframe 上运行 ML 算法,请考虑使用 VectorAssembler 创建特征数组。像这样:

assembler = VectorAssembler(
    inputCols= ['age','gender','salary','occupation'],
    outputCol="features")

input_rdd = assembler.transform(dataframe) \
    .map(lambda row: LabeledPoint(row.defaulter, row.features))

【讨论】:

    猜你喜欢
    • 2016-03-08
    • 1970-01-01
    • 2018-01-09
    • 1970-01-01
    • 1970-01-01
    • 2020-12-21
    • 1970-01-01
    • 2023-02-07
    • 2021-06-28
    相关资源
    最近更新 更多