我想在列为列表的数据框中合并基于日期的列表。如何才能做到这一点?例子
Date words 2020-07-26 ["hello", "world"] 2020-07-26 ["hello", "Stack Overflow"]
结果
Date words 2020-07-26 ["hello","world","hello","Stack Overflow"]
uubf1zoe1#
使用 groupBy , flatten & collect_list 功能。检查以下代码。
groupBy
flatten
collect_list
df.show(truncate=False) +----------+-----------------------+ |date |words | +----------+-----------------------+ |2020-07-26|[hello, world] | |2020-07-26|[hello, Stack Overflow]| +----------+-----------------------+
df \ .groupBy("date") \ .agg(flatten(collect_list(col("words")).alias("words")) .show(truncate=False) +----------+-------------------------------------+ |date |words | +----------+-------------------------------------+ |2020-07-26|[hello, world, hello, Stack Overflow]| +----------+-------------------------------------+
1条答案
按热度按时间uubf1zoe1#
使用
groupBy
,flatten
&collect_list
功能。检查以下代码。