Zacznij terazZacznij za darmo

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

Zobacz kurs

Instrukcje do ćwiczenia

  • Zaimportuj funkcję json_normalize() z submodułu io.json biblioteki pandas.
  • Wyodrębnij dane JSON z obiektu response i przypisz je do zmiennej data.
  • Użyj funkcji json_normalize(), aby spłaszczyć dane o kawiarniach i załadować je do ramki danych cafes. Ustaw argument sep tak, 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())
Edytuj i uruchom kod