Как сформировать DataFrame из словаря и списков
[{'dimensions': [{'id': '240837577',
'name': 'Ключница / ключница карманная / ключница женская / ключница из натуральной кожи / ключница на молнии МАХАОН (Париж, Эйфелева башня)'}],
'metrics': [1]},
{'dimensions': [{'id': '240836242',
'name': 'Кошелек женский / из натуральной кожи / портмоне / бумажник / кожаный / маленький МАХАОН (Париж, Эйфелева башня)'}],
'metrics': [1]},
{'dimensions': [{'id': '240837379',
'name': 'Ключница / ключница карманная / ключница женская / ключница из натуральной кожи / ключница на молнии МАХАОН (Ирисы)'}],
'metrics': [0]},
{'dimensions': [{'id': '240836803',
'name': 'Футляр для очков / чехол для солнцезащитных очков / очечник на магните / кожаный женский МАХАОН (Геометрическая абстракция)'}],
'metrics': [0]},
{'dimensions': [{'id': '243718237',
'name': 'Сумка кросс боди кожаная / женская сумка из натуральной кожи / классическая повседневная сумка / с рисунком / с ручкой / через плечо / на молнии МАХАОН (Париж, Эйфелева башня)'}],
'metrics': [0]}]
Вот эти данные необходимо представить в виде датафрейма с колонками:
- id
- name
- metrics
После написания команды:
report = pd.DataFrame(b)
report
формируется датафрейм с колонками dimensions и metrics
Ответы (1 шт):
Автор решения: Сергей Кох
→ Ссылка
Так как это полуструктурированный JSON, поэтому берем соответствующий метод. Заодно 'dimensions' распаковываем, а 'metrics' добавляем.
df = pd.json_normalize(data, 'dimensions', ['metrics'])
id name metrics
0 240837577 Ключница / ключница карманная / ключница женск... 1
1 240836242 Кошелек женский / из натуральной кожи / портмо... 1
2 240837379 Ключница / ключница карманная / ключница женск... 0
3 240836803 Футляр для очков / чехол для солнцезащитных оч... 0
4 243718237 Сумка кросс боди кожаная / женская сумка из на... 0