real time web analytics

Pandas Json Normalizar

El “JSON” básicamente significa “Notación de objetos de JavaScript”.

Pandas tiene el “marco de procesamiento de datos” más popular en Python, que es la función de normalización “JSON”. Es una función integrada de Pandas. Es la forma más sencilla de hacer la normalización de Pandas JSON () utilizando los módulos de solicitud “Python”.

En este artículo, veremos diferentes niveles de normalización.

Sintaxis

pandasjson_normalizar(datos, Máximo nivel=Ninguno,prefijo_registro=Ninguno)

Aquí:

  1. Los datos pueden ser un diccionario o una lista de diccionarios.
  2. Max_level se utiliza para especificar niveles máximos para normalizar. Si no se especifica, normalizará todos los niveles. Toma un número entero como parámetro; por defecto, es Ninguno.
  3. Si desea agregar algún prefijo a la etiqueta después de la normalización, puede agregarlo pasando el prefijo al parámetro record_prefix. Por defecto, es Ninguno.

Ejemplo 1: con datos como parámetro

Aquí, solo pasaremos los datos JSON. Así normalizará todos los niveles. Vamos a crear cinco diccionarios dentro de una lista (Lista de diccionarios) y normalizarlo.

importar pandas

# Considere los datos JSON

datos_json_actuales = [

{“state”: “AP”, “code”: “APH456”},

{“state”: “TS”, “code”: “SCVH456”},

{“state”: “MUM”, “code”: “TYH4543”},

{“state”: “PUN”, “code”: “AYU78BN6”},

{“state”: “BNG”, “code”: “RE456”},

]

imprimir(datos_json_actuales)

# normalizar los datos anteriores

normalizado = pandasjson_normalizar(datos_json_actuales)

# Mostrar los datos normalizados

imprimir(normalizado)

Producción

[{‘state’: ‘AP’, ‘code’: ‘APH456’}, {‘state’: ‘TS’, ‘code’: ‘SCVH456’}, {‘state’: ‘MUM’, ‘code’: ‘TYH4543’}, {‘state’: ‘PUN’, ‘code’: ‘AYU78BN6’}, {‘state’: ‘BNG’, ‘code’: ‘RE456’}]

Expresar código

0 AP APH456

1 TSSCVH456

2 MAMÁ TYH4543

3 JUEGO DE JUEGOS AYU78BN6

4 BNG RE456

Explicación

Los datos JSON se convierten en Pandas con un nivel máximo de normalización.

Ejemplo 2

Vamos a crear cinco diccionarios dentro de una lista (Lista de diccionarios) con algunos valores vacíos y normalizarlo.

importar pandas

# Considere los datos JSON

datos_json_actuales = [

{“state”: “AP”, “code”: “APH456”,“length”:100},

{“state”: “TS”, “code”: “SCVH456”},

{“state”: “MUM”, “length”:200},

{“state”: “PUN”, “code”: “AYU78BN6”},

{“state”: “BNG”,“length”:300},

]

imprimir(datos_json_actuales)

# normalizar los datos anteriores

normalizado = pandasjson_normalizar(datos_json_actuales)

# Mostrar los datos normalizados

imprimir(normalizado)

Producción

[{‘state’: ‘AP’, ‘code’: ‘APH456’, ‘length’: 100}, {‘state’: ‘TS’, ‘code’: ‘SCVH456’}, {‘state’: ‘MUM’, ‘length’: 200}, {‘state’: ‘PUN’, ‘code’: ‘AYU78BN6’}, {‘state’: ‘BNG’, ‘length’: 300}]

Expresar código largo

0 AP APH456 100.0

1 TS SCVH456 NaN

2 MAMÁ NaN 200.0

3 PUN AYU78BN6 NaN

4 BNG NaN 300.0

Explicación

Los datos JSON se convierten en Pandas con un nivel máximo de normalización. Si el valor está vacío, se devuelve NaN en las posiciones vacías.

Ejemplo 3: con el parámetro max_level

Vamos a crear cinco diccionarios dentro de una lista (Lista de diccionarios) y normalizarlo hasta el nivel 0.

importar pandas

# Considere los datos JSON

datos_json_actuales = [

{“state”: {“state 1”: “AP”,“state 2”:“Ind”,“state 3”:“Cal”}, “code”: “APH456”,“length”:100},

{“state”: “TS”, “code”: “SCVH456”,“length”:160},

{“state”: “MUM”, “code”: “SAVH4MO6”,“length”:200},

{“state”: “PUN”, “code”: “AYU78BN6”,“length”:200},

{“state”: {“state 1”:“BNG”,“state 2”:“TLN”},“code”: “AYU78BN6”,“length”:300},

]

# normalizar los datos anteriores hasta el nivel 0

normalizado = pandasjson_normalizar(datos_json_actuales,Máximo nivel=0)

# Mostrar los datos normalizados

imprimir(normalizado)

Producción

Expresar código largo

0 {‘estado 1’: ‘AP’, ‘estado 2’: ‘Indiana’, ‘estado 3’:… APH456 100

1 TSSCVH456 160

2 MAMÁ SAVH4MO6 200

3 JUEGO DE JUEGOS AYU78BN6 200

4 {‘estado 1’: ‘BNG’, ‘estado 2’: ‘TLN’} AYU78BN6 300

Explicación

La normalización se realiza solo hasta el nivel 0. Aún así, podemos normalizar los datos en la columna de estado.

Normalicemos hasta el nivel 1 en el siguiente ejemplo.

Ejemplo 4

Vamos a crear cinco diccionarios dentro de una lista (Lista de diccionarios) y normalizarlo hasta el nivel 1.

importar pandas

# Considere los datos JSON

datos_json_actuales = [

{“state”: {“state 1”: “AP”,“state 2”:“Ind”,“state 3”:“Cal”}, “code”: “APH456”,“length”:100},

{“state”: “TS”, “code”: “SCVH456”,“length”:160},

{“state”: “MUM”, “code”: “SAVH4MO6”,“length”:200},

{“state”: “PUN”, “code”: “AYU78BN6”,“length”:200},

{“state”: {“state 1”:“BNG”,“state 2”:“TLN”},“code”: “AYU78BN6”,“length”:300},

]

# normalizar los datos anteriores hasta el nivel 1

normalizado = pandasjson_normalizar(datos_json_actuales,Máximo nivel=1)

# Mostrar los datos normalizados

imprimir(normalizado)

Producción

código estado de longitud.Expresar 1 Expresar.Expresar 2 Expresar.Expresar 3 Expresar

0 APH456 100 AP Ind Cal NaN

1 SCVH456 160 NaN NaN NaN TS

2 SAVH4MO6 200 NaN NaN NaN MAMÁ

3 AYU78BN6 200 NaN NaN NaN JUEGO DE JUEGOS

4 AYU78BN6 300 BNG TLN NaN NaN

Explicación

Ahora puede ver que se ha realizado la máxima normalización.

Ejemplo 5: con record_prefix como parámetro

Cree datos JSON con un diccionario que contenga tres estados y agregue el prefijo “I-” a la etiqueta del estado.

importar pandas

# Considere los datos JSON

datos_json_actuales = { “Expresar”: [“AP”,“TS”, “PNU”]}

# normalizar los datos anteriores pasando el parámetro record_prefix

normalizado = pandasjson_normalizar(datos_json_actuales,“Expresar”,prefijo_registro=“YO-“)

# Mostrar los datos normalizados

imprimir(normalizado)

Producción

Explicación

Entonces estamos agregando el prefijo al estado. Después de la normalización, el prefijo se agrega a la etiqueta 0.

Conclusión

La “normalización Pandas JSON” es una forma muy efectiva, poderosa y conveniente de convertir datos no estructurados en un estado valioso de DataFrame. Aprendimos sobre todas las opciones de normalización de Pandas JSON en este artículo. Como se explicó, hemos realizado la normalización de JSON utilizando el nivel máximo “0” y el nivel máximo “1” para la forma de distribución. También hemos realizado la normalización JSON en el DataFrame y varias columnas de DataFrames. El método de normalización JSON de Pandas nos lleva a un rendimiento sostenible del DataFrame en todas las formas posibles.

Leave a Comment