Преобразование списка JSON в фрейм данных Pandas

#python #json #pandas #list

#python #json #pandas #Список

Вопрос:

Столбец actualsTimeseries содержит список json. Я хочу создать отдельный столбец для каждого объекта, чтобы я мог извлечь из него столбец даты.

Это код для извлечения Covid_data

  import urllib.request, json 
with urllib.request.urlopen("https://api.covidactnow.org/v2/counties.timeseries.json?apiKey=2bd2fb77d0f7415f8313b45e5d260206") as url:
    data = json.loads(url.read().decode())
covid_data=pd.DataFrame(data)
covid_data.head()
  

введите описание изображения здесь

Мне нужны столбцы состояния, округа, testPositivityRatio и даты из фактических временных рядов

 scd=covid_data[['state','county']]
positivity_ratio=pd.json_normalize(covid_data.metrics[0:])[['testPositivityRatio']]
  

Я не могу нормализовать столбец actualsTimeseries.
Пожалуйста, помогите, я много пробовал. Но не смог сделать

Ответ №1:

Попробуйте это, чтобы получить столбцы внутри metricsTimeseries и state и county с верхнего уровня:

 covid_data = pd.json_normalize(data, record_path=['metricsTimeseries'], meta=['state', 'county'])
print(covid_data)
  

Вывод:

 testPositivityRatio  caseDensity contactTracerCapacityRatio infectionRate infectionRateCI90 icuHeadroomRatio icuHeadroomDetails        date state                  county
0                 None          0.0                       None          None              None             None               None  2020-01-21    AK  Aleutians East Borough
1                 None          0.0                       None          None              None             None               None  2020-01-22    AK  Aleutians East Borough
2                 None          0.0                       None          None              None             None               None  2020-01-23    AK  Aleutians East Borough
3                 None          0.0                       None          None              None             None               None  2020-01-24    AK  Aleutians East Borough
4                 None          0.0                       None          None              None             None               None  2020-01-25    AK  Aleutians East Borough
5                 None          0.0                       None          None              None             None               None  2020-01-26    AK  Aleutians East Borough
6                 None          0.0                       None          None              None             None               None  2020-01-27    AK  Aleutians East Borough
7                 None          0.0                       None          None              None             None               None  2020-01-28    AK  Aleutians East Borough
8                 None          0.0                       None          None              None             None               None  2020-01-29    AK  Aleutians East Borough
9                 None          0.0                       None          None              None             None               None  2020-01-30    AK  Aleutians East Borough
10                None          0.0                       None          None              None             None               None  2020-01-31    AK  Aleutians East Borough