我有一个带有'Week_of_the_year'列的PySpark数据框。 “ 202005”表示2020年第5周。如何将其转换为“日期”格式,或者转换为该周的中旬日期(星期三)?
示例:我希望“ 202005”显示为“ 2020-01-29”。
您可以在日期中使用to_date
concatenated使用3(day of week: Wednesday)
函数,例如2020053
,其中2020是年份,05是一年中的第几周, 3是星期几。有关日期时间字符的信息,请参见Java Simple Date format。
from pyspark.sql import functions as F
df.withColumn("new_date", F.to_date(F.concat("old_date",F.lit("3")), "yyyywwu")).show()
#+--------+----------+
#|old_date| new_date|
#+--------+----------+
#| 202005|2020-01-29|
#+--------+----------+