我目前正在研究Kaggle的Santander产品推荐数据集,以便在FPGrowth上进行实验。
来自pyspark(ML)的FPGrowth算法需要将数据帧作为项集:
+---+------------+
| id| items|
+---+------------+
| 0| [A, B, E]|
| 1|[A, B, C, E]|
| 2| [A, B]|
+---+------------+
但我的数据是这种格式:
+---+---+---+---+---+---+
| id| A| B| C| D| E|
+---+---+---+---+---+---+
| 0| 1| 1| 0| 0| 1|
| 1| 1| 1| 1| 0| 1|
| 2| 1| 1| 0| 0| 0|
+---+---+---+---+---+---+
我试图通过用列名替换1并从中创建列表来解决它,但这不起作用。
有没有办法使用Spark数据帧功能执行此转换?
非常感谢!
答案 0 :(得分:0)
使用udf:
'b'