ComeçarComece de graça

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

Ver curso

Instruções do exercício

  • Carregue a função json_normalize() do submódulo io.json do pandas.
  • Isole os dados JSON de response e atribua-os a data.
  • Use json_normalize() para achatar e carregar os dados de businesses em um dataframe, cafes. Defina o argumento sep para 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())
Editar e executar o código