Мой DataFrame выглядит следующим образом:
StudentID Marks
100 ["20", "25.5", "40.23", "50"]
200 ["30", "20", "25", "40"]
300 ["20", "25", "50", "35"]
Мне нужно извлечь marks
в массиве и создать новый DataFrame. Тем не менее, я не могу извлечь за второе значение в DF (не знаю, как выбрать все метки с помощью регулярного выражения ([0-9]+)(?:\.[0-9]+){3}
.
df1.select(regexp_extract('StudentID', '(\w+)(,)', 1).alias("C1"),
regexp_extract('Marks', '([0-9]+)(?:\.[0-9]+){3}', 0).alias("C2"))
В конечном счете, необходимо создать новый DataFrame с форматом ниже :
StudentID C1 C2 C3 C4
100 20 25.5 40.23 50
200 30 20 25 40
300 20 25 50 35
Заранее спасибо.