我有一个DataFrame
有3列,即Id, First Name, Last Name
我想在GroupBy
的基础上应用Id
,并希望收集First Name, Last Name
列作为列表。
示例: - 我有这样的DF
+---+-------+--------+
|id |fName |lName |
+---+-------+--------+
|1 |Akash |Sethi |
|2 |Kunal |Kapoor |
|3 |Rishabh|Verma |
|2 |Sonu |Mehrotra|
+---+-------+--------+
我希望我的输出像这样
+---+-------+--------+--------------------+
|id |fname |lName |
+---+-------+--------+--------------------+
|1 |[Akash] |[Sethi] |
|2 |[Kunal, Sonu] |[Kapoor, Mehrotra] |
|3 |[Rishabh] |[Verma] |
+---+-------+--------+--------------------+
先谢谢
答案 0 :(得分:8)
您可以聚合多个列,如下所示:
df.groupBy("id").agg(collect_list("fName"), collect_list("lName"))
它会给你预期的结果。