Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Solucionado (ver solución)
Solucionado
(ver solución)
2
respuestas

[Duda] PROFUNDIZANDO EN LA NORMALIZACIÓN

En la parte final se especifica una llamada de "Importante", ¿se supone que la idea es que siempre que enfrentemos un archivo JSON con diccionarios dentro de diccionarios debemos importar el módulo json y aplicar el código que allí aparece?, ¿eso?

Y en los archivos json simples ¿también hay que hacer lo mismo?, ¿o basta con aplicar lo aprendido en la primera parte de la clase con el profesor?...

Gracias

2 respuestas
solución!

Hola Rita,

¡Gracias por tu pregunta! Vamos a aclarar tus dudas sobre la normalización de archivos JSON.

Cuando te enfrentas a un archivo JSON que contiene diccionarios dentro de diccionarios, es importante utilizar el módulo json para cargar correctamente el archivo antes de aplicar la función json_normalize() de Pandas. Esto es porque json_normalize() trabaja directamente con diccionarios o listas de diccionarios, y el módulo json te ayuda a convertir el archivo JSON en un formato que json_normalize() pueda procesar.

Para archivos JSON simples, donde no hay estructuras anidadas complejas, puedes aplicar directamente lo aprendido en la primera parte de la clase, usando json_normalize() sin necesidad de importar el módulo json, siempre y cuando ya tengas el JSON en formato de diccionario o lista de diccionarios. Por ejemplo:

import pandas as pd

# JSON simple
datos = {'Análisis': 'Principales indicadores de enfermedad cardíaca', 'Año': 2020, 'Numero_Pacientes': 3}

# Normalización directa
df = pd.json_normalize(datos)
print(df)

Sin embargo, si estás trabajando con un archivo JSON que necesitas leer desde un archivo, o si el JSON es más complejo (con estructuras anidadas), entonces sí necesitarás usar el módulo json para cargar los datos primero:

import pandas as pd
import json

# Leyendo un archivo JSON
with open('archivo.json', 'r') as f:
    datos = json.load(f)

# Normalizando los datos
df = pd.json_normalize(datos, record_path='Pacientes', meta=['Investigación', 'Año'])
print(df)

Espero que esto aclare tus dudas sobre cuándo y cómo utilizar el módulo json y la función json_normalize(). ¡Espero haber ayudado y buenos estudios!

Gracias!... me ayudó mucho.