Aplanar JSON anidados
Una característica de los datos JSON es que pueden estar anidados: el valor de un atributo puede estar compuesto por pares atributo–valor. Estos datos anidados resultan más útiles si se desempaquetan o se aplanan en sus propias columnas del dataframe. El submódulo pandas.io.json tiene una función, json_normalize(), que hace exactamente eso.
La respuesta de la API de Yelp está anidada. Tu tarea es aplanar el siguiente nivel de datos en las columnas coordinates y location.
Se han importado pandas (como pd) y requests. Los resultados de la llamada a la API están guardados en response.
Este ejercicio forma parte del curso
Ingesta de datos eficiente con pandas
Instrucciones del ejercicio
- Carga la función
json_normalize()del submóduloio.jsondepandas. - Aísla los datos JSON de
responsey asígnalos adata. - Usa
json_normalize()para aplanar y cargar los datos de businesses en un dataframe,cafes. Establece el argumentoseppara que use guiones bajos (_), en lugar de puntos. - Muestra las primeras filas de
data.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
# Load json_normalize()
____
# Isolate the JSON data from the API response
data = ____
# Flatten business data into a dataframe, replace separator
cafes = ____(data["businesses"],
____)
# View data
print(cafes.head())