#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