Aan de slagGa gratis aan de slag

Dataframes samenvoegen

In deze oefening ga je oefenen met het samenvoegen van records door een gegevensset te maken van de 100 best beoordeelde cafés in New York City volgens Yelp.

API’s beperken vaak de hoeveelheid teruggestuurde data, omdat het verzenden van grote gegevenssets tijd en resources kost. De Yelp Business Search API beperkt de resultaten per call tot 50 records. Met de parameter offset kun je echter resultaten ophalen vanaf een opgegeven positie. Door de offset aan te passen, kunnen we resultaten 1-50 in één call krijgen en 51-100 in een andere. Daarna kunnen we de dataframes aan elkaar plakken.

pandas (als pd), requests en json_normalize() zijn al geïmporteerd. De 50 best beoordeelde cafés staan al in een dataframe, top_50_cafes.

Deze oefening maakt deel uit van de cursus

Gestroomlijnde data-inname met pandas

Cursus bekijken

Oefeninstructies

  • Voeg een "offset"-parameter toe aan params zodat de Yelp API-call cafés 51-100 ophaalt.
  • Concateneer de resultaten van de API-call aan top_50_cafes en stel ignore_index zo in dat de rijen opnieuw worden genummerd.
  • Print de vorm (shape) van het resulterende dataframe, cafes, om te bevestigen dat er 100 records zijn.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# Add an offset parameter to get cafes 51-100
params = {"term": "cafe", 
          "location": "NYC",
          "sort_by": "rating", 
          "limit": 50,
          ____}

result = requests.get(api_url, headers=headers, params=params)
next_50_cafes = json_normalize(result.json()["businesses"])

# Concatenate the results, setting ignore_index to renumber rows
cafes = ____

# Print shape of cafes
____
Code bewerken en uitvoeren