Из json в dataframe: извлечение значений второго уровня
Есть json-файл, который мне нужно оформить в датафрейм, однако из-за вложенных значений второго уровня (если правильно объясняю), все сливается в одну строку. Сам файл здесь: https://pastebin.com/JXD971Ue
На выходе хочется получить фрейм формата source_type - date - organic - paid
Пробовала сделать вот так:
result = json.loads(response.text)
first_res = pd.DataFrame(result.get('visits'))
Но это закономерно не сработало тут. Получается вот такое:
Help, please
Ответы (1 шт):
Автор решения: MaxU
→ Ссылка
воспользуйтесь pd.json_normalize()
res = pd.json_normalize(data["visits"]["site.ru"], ["visits"], ["source_type"])
результат:
In [64]: res
Out[64]:
date organic paid source_type
0 2020-03-01 6530.145805 11560.472063 Search
1 2020-03-01 920.343435 0.000000 Social
2 2020-03-01 280.145453 0.000000 Mail
3 2020-03-01 0.000000 53484.768980 Display Ads
4 2020-03-01 2759.261341 0.000000 Direct
5 2020-03-01 1580.916180 0.000000 Referrals