Concatenarea dataframe-urilor
În acest exercițiu, vei exersa concatenarea înregistrărilor prin crearea unui set de date cu cele mai bine cotate 100 de cafenele din New York City, conform Yelp.
API-urile limitează adesea cantitatea de date returnate, deoarece transmiterea unor seturi de date mari poate fi costisitoare ca timp și resurse. API-ul Yelp Business Search limitează rezultatele unui apel la 50 de înregistrări. Totuși, parametrul offset permite preluarea rezultatelor începând de după un număr specificat. Modificând offset-ul, putem obține rezultatele 1-50 într-un apel și 51-100 în altul, după care le adăugăm în dataframe-uri.
pandas (ca pd), requests și json_normalize() au fost deja importate. Primele 50 de cafenele cu cel mai bun rating se află deja într-un dataframe, top_50_cafes.
Acest exercițiu face parte din cursul
Ingestie eficientă a datelor cu pandas
Instrucțiuni pentru exercițiu
- Adaugă un parametru
"offset"înparams, astfel încât apelul API Yelp să returneze cafenelele 51-100. - Concatenează rezultatele apelului API cu
top_50_cafes, setândignore_indexpentru ca rândurile să fie renumerotate. - Afișează forma dataframe-ului rezultat,
cafes, pentru a confirma că există 100 de înregistrări.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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
____