我有一个pyspark dataframe下面的数据
[
我的代码:
W = Window.partitionBy("A").orderBy(col("C"))
main_df = main_df.withColumn("cnt", F.count("B").over(W))
字符串
我使用count函数的方式有什么问题吗?如何使列“Actual”中的值与“Expecting”匹配?我看到我的输出有两个问题-
1.计数器从1开始,而它应该从0开始
1.对于每个组,最后一个计数被分配,而不是第一个
有人能帮我解决这个问题吗?
1条答案
按热度按时间zujrkrfu1#
尝试用
dense_rank
窗口函数和substract 1
从dense_rank
值。Example:
字符串