Каков наиболее эффективный метод добавления вложенных данных в pandas фрейм данных? - PullRequest
1 голос
/ 08 апреля 2020

Я пытался добавить данные JSON из этого API во фрейм данных pandas. Вот код, который я попробовал:

url = 'https://api.covid19api.com/summary'
df = pd.read_json(url)

print(df.head())

При выполнении этого кода я получаю следующую ошибку:

ValueError: Смешивание кодов с несерией может привести к неоднозначному упорядочению .

Любой совет по этому вопросу будет полезен. Заранее спасибо.

Ответы [ 2 ]

1 голос
/ 08 апреля 2020

JSON имеет пару элементов («Глобальный», «Страны» и «Дата»), поэтому имеет смысл разделить его на отдельные кадры данных, что нелегко сделать с помощью pandas.read_json().

import requests

url = 'https://api.covid19api.com/summary'
r = requests.get(url)
data = r.json()
global_data = pd.DataFrame(data['Global'])
countries = pd.DataFrame(data['Countries'])
1 голос
/ 08 апреля 2020

Привет, Мэтт и добро пожаловать на ТАК. Всякий раз, когда вы работаете с json, лучше сначала получить данные и взглянуть на них. В вашем конкретном случае ключ Global отличается от ключей в Countries, поэтому вы получаете эту ошибку

import urllib.request
import json
import pandas as pd

url = 'https://api.covid19api.com/summary'
response = urllib.request.urlopen(url)
# the following is the data you should explore
data = json.loads(response.read())

df = pd.DataFrame(data["Countries"])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...