Appiattire JSON annidati
Una caratteristica dei dati JSON è che possono essere annidati: il valore di un attributo può essere a sua volta composto da coppie attributo-valore. Questi dati annidati sono più utili se scompattati, o appiattiti, in proprie colonne del dataframe. Il sottomodulo pandas.io.json include una funzione, json_normalize(), che fa esattamente questo.
I dati di risposta dell'API di Yelp sono annidati. Il tuo compito è appiattire il livello successivo di dati nelle colonne coordinates e location.
pandas (come pd) e requests sono già stati importati. I risultati della chiamata API sono memorizzati in response.
Questo esercizio fa parte del corso
Acquisizione dati semplificata con pandas
Istruzioni dell'esercizio
- Carica la funzione
json_normalize()dal sottomoduloio.jsondipandas. - Isola i dati JSON da
responsee assegnali adata. - Usa
json_normalize()per appiattire e caricare i dati delle attività in un dataframe,cafes. Imposta l'argomentosepper usare il carattere di underscore (_) invece dei punti. - Mostra l'head di
data.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# 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())