Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
0
respuestas

Desafío: normalizar el JSON obtenido de la API

Este DataFrame tiene 6 columnas: genus (género), name (nombre), id, family (familia), order (orden) e nutritions (nutriciones). Observe que la columna nutritions tiene toda la información nutricional anidada en ella. Por tanto, es necesario normalizar los datos.

El desafío ahora es normalizar este DataFrame.

import requests
import json

datos_frutas = requests.get('https://fruityvice.com/api/fruit/all')

resultado = json.loads(datos_frutas.text)

# Normalizamos
df_frutas = pd.json_normalize(resultado)

Aquí surgió un problema, la clave 'nutritions' contiene un diccionario, no una lista de registros.

  1. Se normalizo el listado principal.
  2. Se normalizó la columna nutritions.
  3. Se combino el dataframe que se obtuvo de nutritions con el primer dataframe obtenido.
df_frutas = df_frutas.rename(columns=lambda column: column.replace('nutritions.', '') if 'nutritions.' in column else column)

display(df_frutas.head())

Ingrese aquí la descripción de esta imagen para ayudar con la accesibilidad