2017-07-26 146 views
0

我從datafrme柱獲得weeknumber從本月pyspark,對於實例是stuckup考慮我的數據幀作爲pyspark越來越weeknumber

WeekID,DateField,WeekNUM 
1,01/JAN/2017 
2,15/Feb/2017 

我的輸出應該如下

WeekIDm,DateField,MOF 
1,01/JAN/2017,1 
2,15/FEB/2017,2 

我嘗試使用striftime和其他日期功能,我無法做到。

請幫我解決這個問題。

回答

1

您可以結合to_datedate_format

from pyspark.sql.functions import to_date, date_format 

df = spark.createDataFrame(
    [(1, "01/JAN/2017"), (2, "15/FEB/2017")], ("id", "date")) 

df.withColumn("week", date_format(to_date("date", "dd/MMM/yyyy"), "W")).show() 
+---+-----------+----+ 
| id|  date|week| 
+---+-----------+----+ 
| 1|01/JAN/2017| 1| 
| 2|15/FEB/2017| 3| 
+---+-----------+----+ 

如果你想一週的年請w替換格式:

date_format(to_date("date", "dd/MMM/yyyy"), "w")