python 如何在pyspark中基于其他列将列转换为列表

oxcyiej7  于 2023-02-07  发布在  Python
关注(0)|答案(1)|浏览(179)

我在pyspark中有一个 Dataframe ,如下所示:

| 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(),但是它没有给予我预期的结果。你能给我指出解决这个问题的正确方向吗?

0md85ypi

0md85ypi1#

使用收集列表,

df1.groupBy("Column A").agg(F.collect_list("Column B")).show()

输入:

输出:

相关问题