IniziaInizia gratis

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

Visualizza il corso

Istruzioni dell'esercizio

  • Carica la funzione json_normalize() dal sottomodulo io.json di pandas.
  • Isola i dati JSON da response e assegnali a data.
  • Usa json_normalize() per appiattire e caricare i dati delle attività in un dataframe, cafes. Imposta l'argomento sep per 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())
Modifica ed esegui il codice