pyspark,dataframe转成LibSVM/svmlight,特别是特征一定要从小到大

问题描述

我有一个关于 Pyspark 地图的问题。

例如,我有如下数据:

data=[(1,1,10),(1,2,20),(2,3,15),47),(3,28),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|
+---+------+--------+------+

我想将数据转换为:按 ID 分组:

1 1:10  2:20
1 1:47  2:15
0 2:28  3:17

所以每一行代表一个ID,第一个值代表Target,features:value1

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

您能提供任何示例代码或建议吗?

非常感谢!!!!!!!!!!!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)