通过保留基于另一个变量的顺序来收集列表

通过保留基于另一个变量的顺序来收集列表,第1张

通过保留基于另一个变量的顺序来收集列表

如果您同时收集日期和值作为列表,则可以使用和根据日期对结果列进行排序

udf
,然后仅将值保留在结果中。

import operatorimport pyspark.sql.functions as F# create list columngrouped_df = input_df.groupby("id")     .agg(F.collect_list(F.struct("date", "value"))     .alias("list_col"))# define udfdef sorter(l):  res = sorted(l, key=operator.itemgetter(0))  return [item[1] for item in res]sort_udf = F.udf(sorter)# testgrouped_df.select("id", sort_udf("list_col")   .alias("sorted_list"))   .show(truncate = False)+---+----------------+|id |sorted_list     |+---+----------------+|1  |[10, 5, 15, 20] ||2  |[100, 500, 1500]|+---+----------------+


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5667873.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存