Apache Spark Dataframe Groupby agg() 用于多列 [英] Apache Spark Dataframe Groupby agg() for multiple columns
本文介绍了Apache Spark Dataframe Groupby agg() 用于多列的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个带有 3 列的 DataFrame
,即 Id、First Name、Last Name
I have a DataFrame
with 3 columns i.e. Id, First Name, Last Name
我想在 Id
的基础上应用 GroupBy
并希望收集 First Name, Last Name
列作为列表.
I want to apply GroupBy
on the basis of Id
and want to collect First Name, Last Name
column as list.
示例:- 我有一个这样的 DF
Example :- I have a DF like this
+---+-------+--------+
|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] |
+---+-------+--------+--------------------+
提前致谢
推荐答案
您可以像这样聚合多个列:
You can aggregate multiple columns like this:
df.groupBy("id").agg(collect_list("fName"), collect_list("lName"))
它会给你预期的结果.
这篇关于Apache Spark Dataframe Groupby agg() 用于多列的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文