Spłaszczanie zagnieżdżonych plików JSON
Jedną z cech danych JSON jest to, że mogą być zagnieżdżone: wartość atrybutu może sama składać się z par atrybut-wartość. Takie zagnieżdżone dane są bardziej użyteczne po rozpakowaniu, czyli spłaszczeniu do osobnych kolumn ramki danych. Submoduł pandas.io.json udostępnia funkcję json_normalize(), która robi dokładnie to.
Dane zwrócone przez API Yelp są zagnieżdżone. Twoim zadaniem jest spłaszczenie kolejnego poziomu danych z kolumn coordinates i location.
Biblioteka pandas (jako pd) oraz requests zostały już zaimportowane. Wyniki wywołania API są przechowywane w zmiennej response.
To ćwiczenie jest częścią kursu
Sprawne importowanie danych z pandas
Instrukcje do ćwiczenia
- Zaimportuj funkcję
json_normalize()z submodułuio.jsonbibliotekipandas. - Wyodrębnij dane JSON z obiektu
responsei przypisz je do zmiennejdata. - Użyj funkcji
json_normalize(), aby spłaszczyć dane o kawiarniach i załadować je do ramki danychcafes. Ustaw argumentseptak, aby jako separator używać podkreślenia (_) zamiast kropki. - Wyświetl pierwsze wiersze zmiennej
data.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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())