Cómo convertir un DataFrame de Pandas a JSON

Actualizado por ultima vez el 7 de mayo de 2021, por .

A menudo, podría estar interesado en convertir un DataFrame de pandas a un formato JSON.

Afortunadamente, esto es fácil de hacer usando la función to_json () , que le permite convertir un DataFrame en una cadena JSON con uno de los siguientes formatos:

  • ‘split’: dicte como {‘índice’ -> [índice], ‘columnas’ -> [columnas], ‘datos’ -> [valores]}
  • ‘registros’: lista como [{columna -> valor},…, {columna -> valor}]
  • ‘índice’: dicte como {índice -> {columna -> valor}}
  • ‘columnas’: dicte como {columna -> {índice -> valor}}
  • ‘valores’: solo la matriz de valores
  • ‘tabla’: dictar como {‘esquema’: {esquema}, ‘datos’: {datos}}

Este tutorial muestra cómo convertir un DataFrame a cada uno de los seis formatos usando el siguiente DataFrame de pandas:

importar pandas como pd

#create DataFrame
df = pd.DataFrame ({'puntos': [25, 12, 15, 19],
                   'asiste': [5, 7, 7, 12]})  

#view DataFrame
 df

        puntos asiste
0 25 5
1 12 7
2 15 7
3 19 12

Método 1: ‘Dividir’

df. to_json (orient = ' dividir ')

{
   "columnas": [
      "puntos",
      "asiste"
   ],
   "índice": [
      0,
      1,
      2,
      3
   ],
   "datos": [
      [
         25,
         5
      ],
      [
         12,
         7
      ],
      [
         15,
         7
      ],
      [
         19,
         12
      ]
   ]
}

Método 2: ‘Registros’

df. to_json (orient = ' registros ')

[
   {
      "puntos": 25,
      "asistencias": 5
   },
   {
      "puntos": 12,
      "asistencias": 7
   },
   {
      "puntos": 15,
      "asistencias": 7
   },
   {
      "puntos": 19,
      "asiste": 12
   }
] 

Método 3: ‘Índice’

df. to_json (orient = ' índice ')

{
   "0": {
      "puntos": 25,
      "asistencias": 5
   },
   "1": {
      "puntos": 12,
      "asistencias": 7
   },
   "2": {
      "puntos": 15,
      "asistencias": 7
   },
   "3": {
      "puntos": 19,
      "asiste": 12
   }
}

Método 4: ‘Columnas’

df. to_json (orient = ' columnas ')

{
   "puntos": {
      "0": 25,
      "1": 12,
      "2": 15,
      "3": 19
   },
   "asiste": {
      "0": 5,
      "1": 7,
      "2": 7,
      "3": 12
   }
}

Método 5: ‘Valores’

df. to_json (orient = ' valores ')

[
   [
      25,
      5
   ],
   [
      12,
      7
   ],
   [
      15,
      7
   ],
   [
      19,
      12
   ]
]

Método 6: ‘Tabla’

df. to_json (orient = ' tabla ')

{
   "esquema": {
      "campos": [
         {
            "nombre": "índice",
            "tipo": "entero"
         },
         {
            "nombre": "puntos",
            "tipo": "entero"
         },
         {
            "nombre": "asiste",
            "tipo": "entero"
         }
      ],
      "Clave primaria": [
         "índice"
      ],
      "pandas_version": "0.20.0"
   },
   "datos": [
      {
         "índice": 0,
         "puntos": 25,
         "asistencias": 5
      },
      {
         "índice": 1,
         "puntos": 12,
         "asistencias": 7
      },
      {
         "índice": 2,
         "puntos": 15,
         "asistencias": 7
      },
      {
         "índice": 3,
         "puntos": 19,
         "asiste": 12
      }
   ]
}

Cómo exportar un archivo JSON

Puede usar la siguiente sintaxis para exportar un archivo JSON a una ruta de archivo específica en su computadora:

#crear archivo JSON  
json_file = df. to_json (orient = ' registros ')

#exportar archivo JSON
con open ('my_data.json', 'w') como f:
    f.write (archivo_json)

Puede encontrar la documentación completa para la función pandas to_json () aquí .

  • https://r-project.org
  • https://www.python.org/
  • https://www.stata.com/

Deja un comentario

En Excel, las tablas dinámicas ofrecen una forma sencilla de agrupar y resumir datos. Por ejemplo, si tenemos el siguiente…
statologos comunidad-2

Compartimos información EXCLUSIVA y GRATUITA solo para suscriptores (cursos privados, programas, consejos y mucho más)

You have Successfully Subscribed!