0
我有一個數據幀在火花如下以生成針對每個組新的列值:如何使用條件
ID Sales
1 0
1 0
1 5000
1 0
1 0
1 2000
1 0
2 0
2 0
2 3000
2 1000
2 0
2 0
現在,我想創建第三列對於每個ID,將從0開始,並在Sales列出現嚴格正值時加1。每當指標增加1時,我都希望重複該數字,直到銷售列向下行出現另一個嚴格正值。所得到的數據幀將是如下:
ID Sales Indicator
1 0 0
1 0 0
1 5000 1
1 0 1
1 0 1
1 2000 2
1 0 2
2 0 0
2 0 0
2 3000 1
2 1000 2
2 0 2
2 0 2
我怎麼能以高效的方式實現這一目標?我們可以使用mapPartitions嗎?我研究了窗口函數,但想不到一種方法。非常感謝你。
你怎麼訂貨數據?我的意思是,你怎麼知道它是0,0,5000,0,0,2000,0而不是0,0,0,0,0,0,0,2000,5000? –
按日期說;但繼承,這是不相關的 – eugenerory