Кадр данных pyspark: выберите столбцы из структуры на основе шаблона и сводной таблицы.Python

Программы на Python
Anonymous
Кадр данных pyspark: выберите столбцы из структуры на основе шаблона и сводной таблицы.

Сообщение Anonymous »

Я работаю над предоставленным поставщиком набором данных с неструктурированными столбцами. Столбец имеет структурный тип с несколькими парами ключ-значение.
пример:



Идентификатор
Тип
Данные




1
День
{Day_1: «Мониторинг», Day_2: «Управление», Evening_6: «Нет», Evening_3: «Монитор»


2
Вечер
{День_2: «Н/Д», День_3: «Нет», Вечер_1 :'Дежурный', Вечер_2:'Дежурный'


3
День
{День_1: «Управление», День_5: «На вызове», Вечер_2: «Нет»

< /tbody>

Мне нужно придать ему структуру для запросов. На основе столбца «Тип» найдите соответствующие сдвиги в столбцах «Структура данных», а затем разведите их в отдельные строки, разделив клавишу подчеркивания.
Итак, результат должен выглядеть следующим образом:



Идентификатор
Тип
Смена
Роль




1
День
1
Мониторинг


1
День
2
Управление


2
Вечер
1
По вызову


2
Вечер
2
По вызову< /td>


3
День
1
Управление


3
День
5
Дежурный



Я работаю в pyspark и пытаюсь сделать это следующим образом:
  • Сформируйте регулярное выражение, используя Введите значение столбца + '_' + число.
  • Выберите столбцы из столбца структуры «Данные» с помощью regexp_extract.
  • Преобразуйте столбцы в строки с помощью функции разнесения.
  • Разделить значение имени столбца подчеркиванием и сохранить второе значение индекса.
Я новичок в этом pyspark, и нам нужна помощь в реализации этого.

Подробнее здесь: https://stackoverflow.com/questions/785 ... -and-pivot

Вернуться в «Python»