我有一个pyspark数据帧,ID重复且不连续。我想添加一列顺序id,即下面的第二列
id | seq
1 |1
3 |2
7 |3
3 |2
3 |2
我发现实现这一目标的唯一方法是
window = Window.orderBy(col('id'))
df1 = df.select('id').distinct().withColumn('seq', F.row_number().over(window))
df.join(df1, on='id')
但这似乎不是最好的办法。有没有其他更快的方法来实现这一点
Tags:
使用
dense_rank
窗口函数Example:
相关问题 更多 >
编程相关推荐