我想用两列数据框创建一个地图类型
-----------------------------结果----------------- -----------------------------------------------
地图 ['account'-> 3,'word1'-> 2,'word5'-> 1 ......]
这是我的代码
keyword_f = df.filter(month(df['date']) >= 7) \
.filter(month(df['date']) <= 12) \
.filter(df['statistic_type'] == 'keyword_A') \
.groupby('word').agg(fn.sum('count'))
答案 0 :(得分:1)
摸索到word
和count
之后,您可以通过这种方式收集结果。
df.groupBy().agg(map_from_arrays(collect_list('col1'), collect_list('col2')).alias('map')) \
.show(10, False)
+------------------------+
|map |
+------------------------+
|[A -> 1, B -> 2, C -> 3]|
+------------------------+