0

我有一个关于 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

重点之一是,对于每一行,特征必须是从小到大!!!!!!!!!!

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

太感谢了!!!!!!!!!!!

4

0 回答 0