【发布时间】:2020-05-19 01:49:03
【问题描述】:
我有一个带有“Week_of_the_year”列的 PySpark 数据框。 “202005”表示 2020 年的第 5 周。 如何将其转换为“日期”格式,或者转换为该周的中间日期(星期三)?
示例:我希望“202005”显示为“2020-01-29”。
【问题讨论】:
标签: date datetime pyspark pyspark-dataframes week-number
我有一个带有“Week_of_the_year”列的 PySpark 数据框。 “202005”表示 2020 年的第 5 周。 如何将其转换为“日期”格式,或者转换为该周的中间日期(星期三)?
示例:我希望“202005”显示为“2020-01-29”。
【问题讨论】:
标签: date datetime pyspark pyspark-dataframes week-number
您可以在约会时使用 to_date 函数与 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|
#+--------+----------+
【讨论】: