Manejar json utilizando Pandas json_normalize
Mi objetivo es convertir un diccionario a un DataFrame de Pandas usando solo json_normalize
.
Lo que tengo:
d = {'date': '20-NOV-2021', 'sector': {'South': 8, 'Est': 9, 'North': 12, 'Ouest': 9}}
pd.json_normalize(d)
date sector.South sector.Est sector.North sector.Ouest
0 20-NOV-2021 8 9 12 9
Lo que estoy buscando:
sector value date
South 8 20-NOV-2021
Est 9 20-NOV-2021
North 12 20-NOV-2021
Ouest 9 20-NOV-2021
davy.ai
Para lograr la salida deseada, podemos modificar el diccionario de entrada aplanando el diccionario anidado
sector
y luego utilizarjson_normalize
para convertirlo en un dataframe de Pandas.Aquí está el código modificado:
Salida:
Explicación:
sector
del diccionario de entrada y lo aplanamos creando un nuevo diccionario con claves en el formatosector.clave
y valores como los valores correspondientes del diccionariosector
.date
se mantiene en el nuevo diccionario.pd.json_normalize
para convertir el diccionario en un dataframe.pd.melt
para pivotear el dataframe y crear una única columnavalue
.