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

PySpark DataFrame单值去重计数:拆分逗号分隔标签并统计

解决PySpark拆分逗号分隔标签并统计次数的方法

你之前的代码问题在于直接对原始的逗号分隔字符串分组,统计的是整个标签组合的出现次数,而非单个标签。要实现需求,需要先拆分标签并展开为单行,再分组统计:

步骤说明

  • 用split()将逗号分隔的字符串拆分为数组
  • 用explode()将数组元素展开为独立行,每个标签占一行
  • (可选)用trim()去除标签前后的空格(避免因空格导致的重复统计,比如"tag1"和" tag1"被视为不同标签)
  • 对拆分后的标签列分组,用count()统计出现次数

完整代码示例

# 导入需要的函数
from pyspark.sql.functions import split, explode, count, trim, col

# 1. 拆分标签并展开为单行
tag_rows = data.select(explode(split(col("tags"), ",")).alias("raw_tag"))

# 2. 清理标签(去除前后空格)
clean_tags = tag_rows.select(trim(col("raw_tag")).alias("tag"))

# 3. 统计每个标签的出现次数
tag_counts = clean_tags.groupBy("tag").agg(count("*").alias("occurrence_count"))

# 查看结果
tag_counts.show(10)

如果你的标签字符串没有空格问题,可以省略清理标签的步骤,直接使用explode后的列分组统计。

内容的提问来源于stack exchange,提问作者slycooper

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 20:50:35