У меня есть столбец pySpark DataFrame с юлианскими датами. Я попытался преобразовать дату в дату календаря.
количество | julian_date |
---|---|
1 | 17196 |
2 | 17199 |
3 | 17281 |
Я пробовал с кодом ниже:
spdf = spdf.withColumn('date_new',functions.to_date(functions.from_unixtime("julian_date")))
Однако я получаю вывод как:
количество | julian_date | date_new |
---|---|---|
1 | 17196 | 1970-01-01 |
2 | 17199 | 1970-01-01 |
3 | 17281 | 1970-01-01 |
Пожалуйста помоги. заранее спасибо
Юлианская дата состоит из двух цифр года и трех цифр дня года.
Например: 17196 — это 196-й день 2017 года, то есть 15 июля 2017 года.
Таким образом, вы можете использовать to_date
с использованием формата года (г) и дня года (Д). (ссылка: шаблон даты)
df.withColumn('date_new', functions.to_date(df.julian_date, 'yyDDD'))
# If julian_date is not String type.
# df.julian_date.cast(StringType())
Я пытался решить эту проблему... Я люблю тебя, Эмма... ты лучшая...