Aplatizarea JSON-urilor imbricate
O caracteristică a datelor JSON este că pot fi imbricate: valoarea unui atribut poate conține la rândul ei perechi atribut-valoare. Aceste date imbricate sunt mai utile atunci când sunt despachetate, sau aplatizate, în coloane separate ale unui DataFrame. Submodulul pandas.io.json conține o funcție, json_normalize(), care face exact asta.
Răspunsul primit de la API-ul Yelp conține date imbricate. Sarcina ta este să aplatizezi următorul nivel de date din coloanele coordinates și location.
pandas (ca pd) și requests au fost deja importate. Rezultatele apelului API sunt stocate în response.
Acest exercițiu face parte din cursul
Ingestie eficientă a datelor cu pandas
Instrucțiuni pentru exercițiu
- Importă funcția
json_normalize()din submodululio.jsonal luipandas. - Extrage datele JSON din
responseși atribuie-le variabileidata. - Folosește
json_normalize()pentru a aplatiza și încărca datele despre cafenele într-un DataFrame,cafes. Setează argumentulsepsă folosească underscore (_) în loc de puncte. - Afișează primele rânduri din
data.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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())