Achatar JSONs aninhados
Uma característica dos dados JSON é que eles podem ser aninhados: o valor de um atributo pode consistir em pares atributo-valor. Esses dados aninhados ficam mais úteis quando descompactados, ou achatados, em colunas próprias do dataframe. O submódulo pandas.io.json tem uma função, json_normalize(), que faz exatamente isso.
A resposta da API do Yelp é aninhada. Sua tarefa é achatar o próximo nível de dados nas colunas coordinates e location.
pandas (como pd) e requests já foram importados. Os resultados da chamada à API estão armazenados como response.
Este exercício faz parte do curso
Ingestão de dados simplificada com pandas
Instruções do exercício
- Carregue a função
json_normalize()do submóduloio.jsondopandas. - Isole os dados JSON de
responsee atribua-os adata. - Use
json_normalize()para achatar e carregar os dados de businesses em um dataframe,cafes. Defina o argumentoseppara usar underscores (_), em vez de pontos. - Mostre o head de
data.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# Load json_normalize()
____
# Isolate the JSON data from the API response
data = ____
# Flatten business data into a dataframe, replace separator
cafes = ____(data["businesses"],
____)
# View data
print(cafes.head())