Concatena dataframes
En este ejercicio, practicarás la concatenación de registros creando un conjunto de datos con los 100 cafés mejor valorados de la ciudad de Nueva York según Yelp.
Las APIs suelen limitar la cantidad de datos devueltos, ya que enviar conjuntos de datos grandes puede requerir mucho tiempo y recursos. La Yelp Business Search API limita los resultados devueltos en una llamada a 50 registros. Sin embargo, el parámetro offset permite recuperar resultados empezando después de un número especificado. Modificando el offset, podemos obtener los resultados 1-50 en una llamada y 51-100 en otra. Después, podemos añadir (apilar) los dataframes.
Se han importado pandas (como pd), requests y json_normalize(). Los 50 cafés mejor valorados ya están en un dataframe, top_50_cafes.
Este ejercicio forma parte del curso
Ingesta de datos eficiente con pandas
Instrucciones del ejercicio
- Añade un parámetro
"offset"aparamspara que la llamada a la API de Yelp obtenga los cafés 51-100. - Concatena los resultados de la llamada a la API con
top_50_cafes, estableciendoignore_indexpara que las filas se vuelvan a numerar. - Imprime la forma (shape) del dataframe resultante,
cafes, para confirmar que hay 100 registros.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
# 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
____