Concatena i dataframe
In questo esercizio farai pratica con la concatenazione dei record creando un insieme di dati dei 100 bar meglio valutati di New York City secondo Yelp.
Le API spesso limitano la quantità di dati restituiti, perché inviare insiemi di dati molto grandi può richiedere tempo e risorse. La Yelp Business Search API limita i risultati di una chiamata a 50 record. Tuttavia, il parametro offset permette di recuperare risultati a partire da un numero specificato. Modificando l’offset, possiamo ottenere i risultati 1-50 in una chiamata e 51-100 in un’altra. Poi possiamo accodare i dataframe.
pandas (come pd), requests e json_normalize() sono già stati importati. I 50 bar con valutazione più alta sono già in un dataframe, top_50_cafes.
Questo esercizio fa parte del corso
Acquisizione dati semplificata con pandas
Istruzioni dell'esercizio
- Aggiungi un parametro
"offset"aparamsin modo che la chiamata all’API di Yelp recuperi i bar 51-100. - Concatena i risultati della chiamata API a
top_50_cafes, impostandoignore_indexcosì che le righe vengano rinumerate. - Stampa la shape del dataframe risultante,
cafes, per confermare che ci siano 100 record.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# 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
____