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/