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
Oefeninstructies
- Voeg een
"offset"-parameter toe aanparamszodat de Yelp API-call cafés 51-100 ophaalt. - Concateneer de resultaten van de API-call aan
top_50_cafesen stelignore_indexzo 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
____