将每年的星期转换为PySpark中的日期

问题描述 投票:1回答:1

我有一个带有'Week_of_the_year'列的PySpark数据框。 “ 202005”表示2020年第5周。如何将其转换为“日期”格式,或者转换为该周的中旬日期(星期三)?

示例:我希望“ 202005”显示为“ 2020-01-29”。

date datetime pyspark pyspark-dataframes week-number
1个回答
0
投票

您可以在日期中使用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|
#+--------+----------+
© www.soinside.com 2019 - 2024. All rights reserved.