Spojení dataframů
V tomto cvičení si procvičíš spojování záznamů – vytvoříš dataset 100 nejlépe hodnocených kaváren v New Yorku podle Yelpu.
API často omezují množství vrácených dat, protože přenos velkých datasetů může být časově i výpočetně náročný. Yelp Business Search API vrátí v jednom volání nejvýše 50 záznamů. Parametr offset ale umožňuje načítat výsledky od zadané pozice. Díky tomu můžeme v jednom volání získat výsledky 1–50 a ve druhém 51–100, které pak spojíme do jednoho dataframu.
pandas (jako pd), requests a json_normalize() jsou už naimportované. 50 nejlépe hodnocených kaváren je uloženo v dataframu top_50_cafes.
Toto cvičení je součástí kurzu
Streamlined Data Ingestion with pandas
Pokyny k cvičení
- Přidej do
paramsparametr"offset"tak, aby volání Yelp API vrátilo kavárny 51–100. - Spoj výsledky volání API s dataframem
top_50_cafesa nastavignore_index, aby se řádky přečíslovaly. - Vypiš rozměry výsledného dataframu
cafesa ověř, že obsahuje 100 záznamů.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# 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
____