IniziaInizia gratis

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

Visualizza il corso

Istruzioni dell'esercizio

  • Aggiungi un parametro "offset" a params in modo che la chiamata all’API di Yelp recuperi i bar 51-100.
  • Concatena i risultati della chiamata API a top_50_cafes, impostando ignore_index così 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
____
Modifica ed esegui il codice