¿Cómo convertir pandas DataFrame en JSON en Python?

El análisis de datos es una herramienta extremadamente importante en el mundo actual. Un aspecto clave de Data Analytics es una representación organizada de datos. Existen numerosas estructuras de datos en informática para lograr esta tarea. En este artículo, hablamos de dos estructuras de datos de este tipo, a saber. pandas DataFrames y JSON . Además, vemos cómo convertir DataFrames a formato JSON.

Pandas DataFrames son representaciones tabulares de datos donde las columnas representan los diversos puntos de datos en una sola entrada de datos y cada fila es una entrada de datos única. Mientras que JSON es un texto escrito en notaciones de objetos JavaScript.

Nota: Para obtener más información, consulte Python | Marco de datos de pandas

Convierte pandas DataFrame en JSON

Para convertir pandas DataFrames a formato JSON usamos la función DataFrame.to_json()de la biblioteca pandas en Python. Hay varias personalizaciones disponibles en la función to_json para lograr los formatos deseados de JSON. Veamos los parámetros aceptados por las funciones y luego exploremos la personalización.

Parámetros:

Parámetro Valor Usar
camino_o_buf string o nombre de archivo, opcional Ruta de archivo u objeto. Si no se especifica, el resultado se devuelve como una string.
orientar ‘dividir’, ‘registros’, ‘índice’, ‘columnas’, ‘valores’, ‘tabla’, predeterminado=’índice’ Indicación del formato de string JSON esperado.
formato de fecha Ninguno, ‘época’, ‘iso’, predeterminado=’época’ Tipo de conversión de fecha. ‘época’ = milisegundos de época, ‘iso’ = ISO8601. El valor predeterminado depende de la orientación. Para orient=’table’, el valor predeterminado es ‘iso’. Para el resto de orientaciones, el valor predeterminado es ‘época’.
Precisión doble valor entero, por defecto=10 El número de lugares decimales que se usarán al codificar valores de punto flotante.
fuerza_ascii valor booleano, por defecto=Verdadero Forzar la string codificada para que sea ASCII.
fecha_unidad ‘s’, ‘ms’, ‘nosotros’, ‘ns’, predeterminado=’ms’ La unidad de tiempo para codificar rige la marca de tiempo y la precisión ISO8601. Los valores representan segundos, milisegundos, microsegundos y nanosegundos respectivamente.
controlador_predeterminado función invocable Controlador para llamar si el objeto no se puede convertir de otro modo a un formato adecuado para JSON. Debería recibir un único argumento que es el objeto a convertir y devolver un objeto serializable.
líneas valor booleano, predeterminado=Falso Si ‘orientar’ es ‘registros’, escriba el formato json delimitado por líneas. Lanzará ValueError si la ‘orientación’ es incorrecta, ya que otros no están en la lista.
compresión ‘inferir’, ‘gzip’, ‘bz2’, ‘zip’, ‘xz’, Ninguno, predeterminado=’inferir’ Una string que representa la compresión que se usará en el archivo de salida, solo se usa cuando el primer argumento es un nombre de archivo. De forma predeterminada, la compresión se deduce del nombre del archivo.
índice valor booleano, por defecto=Verdadero Si incluir los valores de índice en la string JSON. No incluir el índice (índice = Falso) solo se admite cuando la orientación es ‘dividida’ o ‘tabla’.
sangrar valor entero Longitud del espacio en blanco utilizado para sangrar cada registro. No es necesario mencionar el argumento opcional.

Ahora veremos algunos ejemplos para comprender el uso de la función DataFrame.to_json.

Ejemplo 1: uso básico

import numpy as np
import pandas as pd
  
  
data = np.array([['1', '2'], ['3', '4']])
  
dataFrame = pd.DataFrame(data, columns = ['col1', 'col2'])
json = dataFrame.to_json()
print(json)

Producción :

{"col1":{"0":"1", "1":"3"}, "col2":{"0":"2", "1":"4"}}

Ejemplo 2: exploración del atributo ‘orientar’ de la función DataFrame.to_json

import numpy as np
import pandas as pd
  
  
data = np.array([['1', '2'], ['3', '4']])
   
dataFrame = pd.DataFrame(data, columns = ['col1', 'col2'])
json = dataFrame.to_json()
print(json)
  
json_split = dataFrame.to_json(orient ='split')
print("json_split = ", json_split, "\n")
   
json_records = dataFrame.to_json(orient ='records')
print("json_records = ", json_records, "\n")
   
json_index = dataFrame.to_json(orient ='index')
print("json_index = ", json_index, "\n")
   
json_columns = dataFrame.to_json(orient ='columns')
print("json_columns = ", json_columns, "\n")
   
json_values = dataFrame.to_json(orient ='values')
print("json_values = ", json_values, "\n")
   
json_table = dataFrame.to_json(orient ='table')
print("json_table = ", json_table, "\n")

Producción :

json_split = {“columnas”:[“col1”, “col2”], “índice”:[0, 1], “datos”:[[“1”, “2”], [“3”, “4” ]]}

json_records = [{“col1″:”1”, “col2″:”2”}, {“col1″:”3”, “col2″:”4”}]

json_index = {“0”:{“col1″:”1”, “col2″:”2”}, “1”:{“col1″:”3”, “col2″:”4”}}

json_columns = {“col1”:{“0″:”1”, “1”:”3″}, “col2”:{“0″:”2”, “1”:”4″}}

valores_json = [[“1”, “2”], [“3”, “4”]]

json_table = {“esquema”:{“campos”:[{“nombre”:”índice”, “tipo”:”entero”}, {“nombre”:”col1″, “tipo”:”string”}, { “name”:”col2″, “type”:”string”}], “primaryKey”:[“index”], “pandas_version”:”0.20.0″}, “data”:[{“index”:0 , “col1″:”1”, “col2″:”2”}, {“índice”:1, “col1″:”3”, “col2″:”4”}]}

Publicación traducida automáticamente

Artículo escrito por shantanudas4 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *