我有一个关于 Pyspark 地图的问题。
例如,我有如下数据:
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|
+---+------+--------+------+
我想将数据转换为:按 ID 分组:
1 1:10 2:20
1 1:47 2:15
0 2:28 3:17
所以每一行代表ID,第一个值代表目标,特征:value1
重点之一是,对于每一行,特征必须是从小到大!!!!!!!!!!
您能否提供任何示例代码或建议?
太感谢了!!!!!!!!!!!