Dataframe pyspark,将数据帧转换为LibSVM/svmlight,尤其是特征必须从最小到最大

Dataframe pyspark,将数据帧转换为LibSVM/svmlight,尤其是特征必须从最小到最大,dataframe,pyspark,rdd,libsvm,svmlight,Dataframe,Pyspark,Rdd,Libsvm,Svmlight,我有一个关于Pypark地图的问题 例如,我有如下数据: data=[(1,1,1,10),(1,1,2,20),(2,1,3,15),(2,1,1,47),(3,0,2,28),(3,0,3,17)] df=spark.createDataFrame(data).toDF("ID","Target","features","value1") df.show() +---+------+--------+-----

我有一个关于Pypark地图的问题

例如,我有如下数据:

data=[(1,1,1,10),(1,1,2,20),(2,1,3,15),(2,1,1,47),(3,0,2,28),(3,0,3,17)]
df=spark.createDataFrame(data).toDF("ID","Target","features","value1")
df.show()

+---+------+--------+------+
| ID|Target|features|value1|
+---+------+--------+------+
|  1|     1|       1|    10|
|  1|     1|       2|    20|
|  2|     1|       3|    15|
|  2|     0|       1|    47|
|  3|     0|       2|    28|
|  3|     0|       3|    17|
+---+------+--------+------+
我想将数据转换为:group by ID:

1 1:10  2:20
1 1:47  2:15
0 2:28  3:17
因此,每一行表示一个ID,第一个值表示目标,特性:value1

其中一个关键点是,对于每一行,功能必须从最小到最大

你能提供一些示例代码或建议吗


非常感谢

所以这不是免费的编码服务。请告诉我们你试过什么。