Cómo convertir un DataFrame de Pandas a JSON

Actualizado el 17 de julio de 2024, por Luis Benites.

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/

Redactor del artículo

  • Luis Benites
    Director de Statologos.com

    Tengo una Maestría en Ciencias en Estadística Aplicada y he trabajado en algoritmos de aprendizaje automático para empresas profesionales tanto en el sector de la salud como en el comercio minorista.

    Ver todas las entradas

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!