pandas создание новых столбцов из словарей - PullRequest
0 голосов
/ 17 марта 2020

часть одного столбца «relatedWorkOrder» в моем фрейме данных выглядит следующим образом:

{'number': 2552, 'labor': {'name': 'IA001', 'code': '70M0901003'}...}
{'number': 2552, 'labor': {'name': 'IA001', 'code': '70M0901003'}...}
{'number': 2552, 'labor': {'name': 'IA001', 'code': '70M0901003'}...}

Мой желаемый вывод - иметь столбец «name», «labour_name», «labour_code» с соответствующими значениями , Я могу сделать это с помощью извлечения и замены регулярных выражений:

df['name'] = df['relatedWorkOrder'].str.extract(r'{regex}',expand=False).str.replace('something','')

Но у меня есть несколько словарей в этом столбце, и это утомительно, также мне интересно, возможно ли это сделать с помощью доступа к ключам и значениям словаря

Любая помощь с этим?

1 Ответ

2 голосов
/ 17 марта 2020

Вы можете присоединиться к результату от pd.json_normalize:

df.join(pd.json_normalize(df['relatedWorkOrder'], sep='_'))
...