Pyspark:将儒略日期转换为日历日期
Pyspark : Convert Julian Date to Calendar date
我有一个带有儒略日期的 pySpark DataFrame 列。我尝试将日期转换为日历日期。
number
julian_date
1
17196
2
17199
3
17281
我尝试使用以下代码:
spdf = spdf.withColumn('date_new',functions.to_date(functions.from_unixtime("julian_date")))
但是,我得到的输出为:
number
julian_date
date_new
1
17196
1970-01-01
2
17199
1970-01-01
3
17281
1970-01-01
请帮忙。提前致谢
儒略日期由 day-of-year 的 2 个年份数字和 3 个数字组成。
例如:17196是2017年的第196天,也就是2017-07-15
因此,您可以使用 to_date
并使用年 (y) 和 day-of-year (D) 格式。 (参考:date pattern)
df.withColumn('date_new', functions.to_date(df.julian_date, 'yyDDD'))
# If julian_date is not String type.
# df.julian_date.cast(StringType())
我有一个带有儒略日期的 pySpark DataFrame 列。我尝试将日期转换为日历日期。
number | julian_date |
---|---|
1 | 17196 |
2 | 17199 |
3 | 17281 |
我尝试使用以下代码:
spdf = spdf.withColumn('date_new',functions.to_date(functions.from_unixtime("julian_date")))
但是,我得到的输出为:
number | julian_date | date_new |
---|---|---|
1 | 17196 | 1970-01-01 |
2 | 17199 | 1970-01-01 |
3 | 17281 | 1970-01-01 |
请帮忙。提前致谢
儒略日期由 day-of-year 的 2 个年份数字和 3 个数字组成。
例如:17196是2017年的第196天,也就是2017-07-15
因此,您可以使用 to_date
并使用年 (y) 和 day-of-year (D) 格式。 (参考:date pattern)
df.withColumn('date_new', functions.to_date(df.julian_date, 'yyDDD'))
# If julian_date is not String type.
# df.julian_date.cast(StringType())