Geneste JSON's flattenen
Een kenmerk van JSON-gegevens is dat ze genest kunnen zijn: de waarde van een attribuut kan bestaan uit paren van attribuut en waarde. Deze geneste data is nuttiger als je die uitpakt, of "flat" maakt, in losse kolommen van een dataframe. De submodule pandas.io.json heeft hiervoor een functie: json_normalize().
De Yelp API-respons is genest. Jij gaat de volgende laag aan data in de kolommen coordinates en location flat maken.
pandas (als pd) en requests zijn al geïmporteerd. De resultaten van de API-aanroep zijn opgeslagen als response.
Deze oefening maakt deel uit van de cursus
Gestroomlijnde data-inname met pandas
Oefeninstructies
- Laad de functie
json_normalize()uit deio.json-submodule vanpandas. - Isoleer de JSON-gegevens uit
responseen wijs ze toe aandata. - Gebruik
json_normalize()om de businesses-data te flattenen en te laden in een dataframe,cafes. Zet het argumentsepop een underscore (_) in plaats van punten. - Toon de head van
data.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# 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())