【发布时间】:2023-02-07 12:47:53
【问题描述】:
我在 pyspark 中有一个数据框,如下所示:
| Column A | Column B |
| -------- | -------- |
| 123 | abc |
| 123 | def |
| 456 | klm |
| 789 | nop |
| 789 | qrst |
对于 A 列中的每一行,B 列必须转换为列表。结果应该是这样的。
| Column A | Column B |
| -------- | -------- |
| 123 |[abc,def] |
| 456 | [klm] |
| 789 |[nop,qrst]|
我试过使用 map(),但它没有给我预期的结果。你能指出我如何解决这个问题的正确方向吗?
【问题讨论】:
-
您是否尝试过使用
pyspark.sql.functions中的collect_list。你可以这样写:df.group_by(col("Column A")).agg(collect_list('Column B'))。请参阅@Steven 提到的评论中的文档。