You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何统计PySpark DataFrame列表列的元素出现频率并按次数降序排序

实现方案

核心实现逻辑为拆分数组元素、分组统计频次、按频次降序排序,最后按要求格式化输出即可,完整实现代码如下:

from pyspark.sql.functions import explode, col, count, concat, lit

# 把My_list列的数组元素拆分成一行单个元素
exploded_df = df2.select(explode(col("My_list")).alias("item"))

# 分组统计每个元素的出现次数,按次数降序排序
count_df = exploded_df.groupBy("item") \
    .agg(count("*").alias("occur_cnt")) \
    .orderBy(col("occur_cnt").desc())

# 按要求格式拼接输出字符串
format_result = count_df.select(
    concat(lit("'"), col("item"), lit("' 出现 -> "), col("occur_cnt"), lit("次,"))
    .alias("output_str")
)

# 打印最终结果
for row in format_result.collect():
    print(row["output_str"])

运行后输出结果如下:

'B z' 出现 -> 3次,
'D' 出现 -> 3次,
'B' 出现 -> 3次,
'A x' 出现 -> 2次,
'C q' 出现 -> 2次,
'E' 出现 -> 2次,
'A y' 出现 -> 2次,
'R' 出现 -> 2次,
'F' 出现 -> 2次,
'C' 出现 -> 1次,
'K' 出现 -> 1次,
'X' 出现 -> 1次,
'A' 出现 -> 1次,

内容的提问来源于stack exchange,提问作者Droid-Bird

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 06:24:00