Zploštění vnořených JSONů
JSON data mohou být vnořená: hodnota atributu se může skládat z dalších párů atribut–hodnota. Taková vnořená data je užitečnější rozbalit, neboli zploštit, do samostatných sloupců dataframu. Submodul pandas.io.json obsahuje funkci json_normalize(), která přesně tohle zajistí.
Data z odpovědi Yelp API jsou vnořená. Tvým úkolem je zploštit další úroveň dat ve sloupcích coordinates a location.
pandas (jako pd) a requests jsou již naimportované. Výsledky volání API jsou uloženy jako response.
Toto cvičení je součástí kurzu
Streamlined Data Ingestion with pandas
Pokyny k cvičení
- Načti funkci
json_normalize()ze submoduluio.jsonknihovnypandas. - Izoluj JSON data z
responsea ulož je do proměnnédata. - Pomocí
json_normalize()zplošti data o podnicích a načti je do dataframucafes. Nastav argumentseptak, aby se jako oddělovač používalo podtržítko (_) místo tečky. - Zobraz prvních několik řádků
data.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# 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())