Pandas JSON si normalizza

Pandas JSON si normalizza

Il "JSON" rappresenta sostanzialmente la "notazione dell'oggetto JavaScript".

Pandas ha il più popolare "framework di elaborazione dei dati" in Python, che è la funzione "JSON" normalizza ". È una caratteristica integrata di panda. È il modo più semplice per eseguire la normalizzazione di Pandas JSON () utilizzando i moduli di richiesta "Python".

In questo articolo, vedremo diversi livelli di normalizzazione.

Sintassi

panda.JSON_NORMALITION (Data, Max_Level = Nessuno, Record_Prefix = Nessuno)

Qui:

  1. I dati possono essere un dizionario o un elenco di dizionari.
  2. Max_level viene utilizzato per specificare i livelli massimi per normalizzare. Se non è specificato, normalizzerà tutti i livelli. Ci vuole un intero come parametro; Per impostazione predefinita, non è nessuno.
  3. Se si desidera aggiungere qualsiasi prefisso all'etichetta dopo la normalizzazione, è possibile aggiungerlo passando il prefisso al parametro record_prefix. Per impostazione predefinita, non è nessuno.

Esempio 1: con i dati come parametro

Qui passeremo solo i dati JSON. Quindi normalizzerà tutti i livelli. Creiamo cinque dizionari all'interno di un elenco (elenco di dizionari) e normalizzarlo.

Panda di importazione
# Considera i dati JSON
effettivo_json_data = [
"State": "AP", "Codice": "APH456",
"State": "TS", "Codice": "SCVH456",
"State": "Mom", "Codice": "Tyh4543",
"State": "Pun", "Codice": "Ayu78bn6",
"State": "bng", "codice": "re456",
"
Stampa (effect_json_data)
# normalizza i dati di cui sopra
normalizzato = panda.JSON_NORMALIZZA (Actual_JSON_DATA)
# Visualizza i dati normalizzati
Stampa (normalizzato)

Produzione

['State': 'Ap', 'Code': 'Aph456', 'State': 'Ts', 'Code': 'SCVH456', 'State': 'Mum', 'Code': 'Tyh4543', 'stato': 'pun', 'code': 'ayu78bn6', 'stato': 'bng', 'code': 're456']
Codice di stato
0 AP APH456
1 TS SCVH456
2 MUM TYH4543
3 Pun ayu78bn6
4 BNG RE456

Spiegazione

I dati JSON vengono convertiti in panda con un livello massimo di normalizzazione.

Esempio 2

Creiamo cinque dizionari all'interno di un elenco (elenco di dizionari) con alcuni valori vuoti e normalizzarlo.

Panda di importazione
# Considera i dati JSON
effettivo_json_data = [
"State": "AP", "Codice": "APH456", "Lunghezza": 100,
"State": "TS", "Codice": "SCVH456",
"State": "Mum", "Lunghezza": 200,
"State": "Pun", "Codice": "Ayu78bn6",
"stato": "bng", "lunghezza": 300,
"
Stampa (effect_json_data)
# normalizza i dati di cui sopra
normalizzato = panda.JSON_NORMALIZZA (Actual_JSON_DATA)
# Visualizza i dati normalizzati
Stampa (normalizzato)

Produzione

["State": "Ap", "Code": "Aph456", "Lunghezza": 100, "State": "Ts", "Code": "SCVH456", "State": 'Mum ',' lunghezza ': 200, ' stato ':' pun ',' code ':' ayu78bn6 ', ' stato ':' bng ',' lunghezza ': 300]
Lunghezza del codice di stato
0 AP APH456 100.0
1 TS SCVH456 NAN
2 mamma nan 200.0
3 Pun ayu78bn6 nan
4 bng nan 300.0

Spiegazione

I dati JSON vengono convertiti in panda con un livello massimo di normalizzazione. Se il valore è vuoto, allora NAN viene restituito in posizioni vuote.

Esempio 3: con il parametro Max_Level

Creiamo cinque dizionari all'interno di un elenco (elenco di dizionari) e normalizziamo fino al livello 0.

Panda di importazione
# Considera i dati JSON
effettivo_json_data = [
"State": "State 1": "AP", "State 2": "Ind", "State 3": "Cal", "Code": "Aph456", "Lunghezza": 100,
"State": "ts", "codice": "scvh456", "lunghezza": 160,
"State": "Mum", "Codice": "Savh4Mo6", "Lunghezza": 200,
"State": "Pun", "Codice": "Ayu78bn6", "Lunghezza": 200,
"State": "State 1": "bng", "State 2": "tln", "codice": "ayu78bn6", "lunghezza": 300,
"
# normalizza i dati di cui sopra fino al livello 0
normalizzato = panda.JSON_NORMALIZZA (Actual_JSON_DATA, MAX_LEVEL = 0)
# Visualizza i dati normalizzati
Stampa (normalizzato)

Produzione

Lunghezza del codice di stato
0 'State 1': 'Ap', 'State 2': 'Ind', 'State 3':… APH456 100
1 TS SCVH456 160
2 mamma savh4mo6 200
3 Pun ayu78bn6 200
4 'State 1': 'Bng', 'State 2': 'tln' ayu78bn6 300

Spiegazione

La normalizzazione viene eseguita solo fino al livello 0. Tuttavia, possiamo normalizzare i dati nella colonna dello stato.

Normalizziamo fino al livello 1 nel prossimo esempio.

Esempio 4

Creiamo cinque dizionari all'interno di un elenco (elenco di dizionari) e normalizziamo fino al livello 1.

Panda di importazione
# Considera i dati JSON
effettivo_json_data = [
"State": "State 1": "AP", "State 2": "Ind", "State 3": "Cal", "Code": "Aph456", "Lunghezza": 100,
"State": "ts", "codice": "scvh456", "lunghezza": 160,
"State": "Mum", "Codice": "Savh4Mo6", "Lunghezza": 200,
"State": "Pun", "Codice": "Ayu78bn6", "Lunghezza": 200,
"State": "State 1": "bng", "State 2": "tln", "codice": "ayu78bn6", "lunghezza": 300,
"
# normalizza i dati di cui sopra fino al livello 1
normalizzato = panda.JSON_NORMALIZZA (Actual_JSON_DATA, MAX_LEVEL = 1)
# Visualizza i dati normalizzati
Stampa (normalizzato)

Produzione

stato di lunghezza del codice.Stato 1 Stato.Stato 2 Stato.Stato 3 Stato
0 APH456 100 AP IND CAL NAN
1 SCVH456 160 NAN NAN NAN TS
2 SAVH4MO6 200 NAN NAN NAN MUM
3 ayu78bn6 200 nan nan nan gioco
4 ayu78bn6 300 bng tln nan nan

Spiegazione

Ora puoi vedere la massima normalizzazione è eseguita.

Esempio 5: con record_prefix come parametro

Crea dati JSON con un dizionario che contiene tre stati e aggiungi il prefisso "i-" all'etichetta statale.

Panda di importazione
# Considera i dati JSON
Actual_json_data = "State": ["AP", "ts", "pnu"]
# normalizza i dati sopra passando il parametro record_prefix
normalizzato = panda.JSON_NORMALIZZA (Actual_JSON_DATA, "State", Record_prefix = "I-")
# Visualizza i dati normalizzati
Stampa (normalizzato)

Produzione

I-0
0 Ap
1 ts
2 pnu

Spiegazione

Quindi stiamo aggiungendo il prefisso allo stato. Dopo la normalizzazione, il prefisso viene aggiunto all'etichetta 0.

Conclusione

La "normalizzazione di Panda JSON" è un modo molto efficace, potente e conveniente per convertire i dati non strutturati in uno stato prezioso di dati di dati. Abbiamo appreso tutte le opzioni di normalizzazione di Panda JSON in questo articolo. Come spiegato, abbiamo fatto la normalizzazione JSON usando il livello massimo "0" e il livello massimo "1" per il modo di distribuzione. Abbiamo anche fatto la normalizzazione JSON sul frame dati e su diverse colonne di dati di dati. Il metodo di normalizzazione JSON di Panda ci porta a una performance sostenibile del telaio di dati in ogni modo possibile.