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

Pyspark如何explode list列并生成对应元素的位置rank列

PySpark 实现代码

最优方案直接使用PySpark内置的posexplode函数,该函数可以在拆分数组列为多行的同时返回元素对应的原始0基索引,全程不需要shuffle操作,性能最优。

步骤1:导入依赖函数

from pyspark.sql import functions as F

步骤2:核心处理逻辑

# 替换df为你自己的原始DataFrame变量名
result_df = df.select(
    "id",
    F.posexplode("list").alias("origin_index", "listitem")
).withColumn("rank", F.col("origin_index") + 1) \
 .drop("origin_index") # 不需要原始索引列可直接删除

执行以上代码即可得到你需要的输出结果。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 12:30:02