Concatenar dataframes
Neste exercício, você vai praticar a concatenação de registros criando um conjunto de dados com os 100 cafés mais bem avaliados de Nova York segundo o Yelp.
APIs costumam limitar a quantidade de dados retornados, já que enviar conjuntos de dados grandes pode consumir muito tempo e recursos. A Yelp Business Search API limita a 50 registros por chamada. No entanto, o parâmetro offset permite recuperar resultados começando após um número especificado. Modificando o offset, podemos obter os resultados 1–50 em uma chamada e 51–100 em outra. Depois, podemos juntar os dataframes.
pandas (como pd), requests e json_normalize() já foram importados. Os 50 cafés mais bem avaliados já estão em um dataframe, top_50_cafes.
Este exercício faz parte do curso
Ingestão de dados simplificada com pandas
Instruções do exercício
- Adicione um parâmetro
"offset"aparamspara que a chamada à API do Yelp busque os cafés 51–100. - Concatene os resultados da chamada da API com
top_50_cafes, configurandoignore_indexpara que as linhas sejam renumeradas. - Imprima o shape do dataframe resultante,
cafes, para confirmar que há 100 registros.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# 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
____