0

使用pyspark中,我希望能夠一組數據框火花,排序組,然後提供一個行號。所以PySpark - 獲取行號的每一行一組

Group Date 
    A  2000 
    A  2002 
    A  2007 
    B  1999 
    B  2015 

將成爲

Group Date row_num 
    A  2000  0 
    A  2002  1 
    A  2007  2 
    B  1999  0 
    B  2015  1 
+0

爲什麼所有的恨? – Luke

+1

不幸的是,錯誤的印象是一個問題**必須**包括自己(和沒有工作)進行測試,雖然根據詢問的SO指引,這肯定是不** **的情況下代碼:HTTPS ://stackoverflow.com/help/on-topic – desertnaut

回答

4

使用窗函數:

from pyspark.sql.window import * 
from pyspark.sql.functions import row_number 

df.withColumn("row_num", row_number().over(Window.partitionBy("Group").orderBy("Date"))) 
+0

不錯!我插入缺少逗號'withColumn' ... :) – desertnaut

+1

歡迎SO和恭喜內回答您的第一個問題!保持並沒有感到失望(它可以是一個嚴酷的地方偶爾...) - 還檢查我的編輯,看你如何使用代碼高亮 – desertnaut