У меня есть датафрейм, загруженный в spark, который приходит из CSV-файла. Однако я хочу добавить два столбца к фрейму данных, и содержимое этих столбцов зависит от константы одного столбца, который уже есть.
Столбец, который у меня уже есть, называется YearWeek и может содержать wkxxxx_yy или xxxx_yy, где xxxx - год.
Мне нужно добавить столбец с именем Period и столбец с именем Year. Новый период столбца может содержать только значения «Weekly» или «Monthly». Если столбец YearWeek начинается с «wk», то столбец Period должен иметь значение «Еженедельно», в противном случае «Ежемесячно»
Я выполнил поиск по курсу и нашел следующий фрагмент кода:
> df4 = df3.withcolumn(NewColumn5, when
> df3.col("YearWeek").startswith("wk"),yearweek[3:6].otherwise(YearWeek[1:4]))\
> .withcolumn(NewColumn1, when df3.col("YearWeek").startswith("wk"),"Weekly".otherwise("Monthly"))
Однако это приводит к синтаксической ошибке
SyntaxError: invalid syntax
File "<command-2818966973632811>", line 61
df4 = df3.withcolumn(NewColumn5, when
df3.col("YearWeek").startswith("wk"),yearweek[3:6].otherwise(YearWeek[1:4]))\
^
SyntaxError: invalid syntax
Что я делаю не так?