ComeçarComece de graça

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

Ver curso

Instruções do exercício

  • Adicione um parâmetro "offset" a params para que a chamada à API do Yelp busque os cafés 51–100.
  • Concatene os resultados da chamada da API com top_50_cafes, configurando ignore_index para 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
____
Editar e executar o código