Pandas Json normalisieren

Pandas Json normalisieren

Der "JSON" steht im Grunde für die "JavaScript -Objektnotation".

Pandas hat das beliebteste "Datenverarbeitungsframework" in Python, nämlich die "JSON" -Normalisierung ". Es ist ein integriertes Merkmal von Pandas. Es ist der einfachste Weg, die Pandas JSON -Normalisierung () mit den "Python" -Anforderungsmodulen durchzuführen.

In diesem Artikel werden wir unterschiedliche Normalisierungsniveaus sehen.

Syntax

Pandas.json_normalize (Daten, max_level = Keine, record_prefix = none)

Hier:

  1. Daten können ein Wörterbuch oder eine Liste von Wörterbüchern sein.
  2. MAX_LEVEL wird verwendet, um maximale Ebenen zur Normalisierung anzugeben. Wenn es nicht angegeben ist, normalisiert es alle Ebenen. Es dauert eine Ganzzahl als Parameter; Standardmäßig ist es keine.
  3. Wenn Sie nach der Normalisierung ein Präfix zum Etikett hinzufügen möchten, können Sie es hinzufügen, indem Sie das Präfix zum Parameter "Record_Prefix" weitergeben. Standardmäßig ist es keine.

Beispiel 1: mit Daten als Parameter

Hier werden wir nur die JSON -Daten übergeben. So normalisiert es alle Ebenen. Erstellen wir fünf Wörterbücher in einer Liste (Liste der Wörterbücher) und normalisieren sie.

Pandas importieren
# Betrachten Sie die JSON -Daten
truct_json_data = [
"Status": "AP", "Code": "APH456",
"Status": "ts", "Code": "scvh456",
"Zustand": "Mama", "Code": "Tyh4543",
"Status": "Pun", "Code": "ayu78bn6",
"Status": "Bng", "Code": "Re456",
]
print (aktuell_json_data)
# Normalisieren Sie die obigen Daten
normalisiert = pandas.JSON_NOMPERIGE (CRUSE_JSON_DATA)
# Zeigen Sie die normalisierten Daten an
drucken (normalisiert)

Ausgang

['Status': 'AP', 'Code': 'APH456', 'Status': 'TS', 'Code': 'Scvh456', 'State': 'Mum', 'Code': 'Tyh4543', 'Status': 'Pun', 'Code': 'Ayu78bn6', 'Status': 'Bng', 'Code': 'Re456']
Staatscode
0 AP APH456
1 TS SCVH456
2 Mama Tyh4543
3 Wortspiel Ayu78Bn6
4 BNG RE456

Erläuterung

JSON -Daten werden mit einem maximalen Normalisierungsniveau in Pandas umgewandelt.

Beispiel 2

Erstellen wir fünf Wörterbücher in einer Liste (Liste der Wörterbücher) mit einigen leeren Werten und normalisieren sie.

Pandas importieren
# Betrachten Sie die JSON -Daten
truct_json_data = [
"Status": "AP", "Code": "APH456", "Länge": 100,
"Status": "ts", "Code": "scvh456",
"Zustand": "Mama", "Länge": 200,
"Status": "Pun", "Code": "ayu78bn6",
"Status": "Bng", "Länge": 300,
]
print (aktuell_json_data)
# Normalisieren Sie die obigen Daten
normalisiert = pandas.JSON_NOMPERIGE (CRUSE_JSON_DATA)
# Zeigen Sie die normalisierten Daten an
drucken (normalisiert)

Ausgang

['Status': 'AP', 'Code': 'APH456', 'Länge': 100, 'Status': 'Ts', 'Code': 'Scvh456', 'Status': 'Mum ',' Länge ': 200, ' Status ':' Pun ',' Code ':' ayu78bn6 ', ' Status ':' Bng ',' Länge ': 300]
State Code Länge
0 AP APH456 100.0
1 TS SCVH456 NAN
2 Mama Nan 200.0
3 Wortspiel Ayu78Bn6 Nan
4 Bng Nan 300.0

Erläuterung

JSON -Daten werden mit einem maximalen Normalisierungsniveau in Pandas umgewandelt. Wenn der Wert leer ist, wird die NAN an leeren Positionen zurückgegeben.

Beispiel 3: Mit dem Parameter max_level

Erstellen wir fünf Wörterbücher in einer Liste (Liste der Wörterbücher) und normalisieren sie auf Stufe 0.

Pandas importieren
# Betrachten Sie die JSON -Daten
truct_json_data = [
"State": "Status 1": "AP", "Status 2": "Ind", "Status 3": "Cal", "Code": "APH456", "Länge": 100,
"Status": "Ts", "Code": "Scvh456", "Länge": 160,
"Zustand": "Mama", "Code": "SavH4mo6", "Länge": 200,
"Status": "Pun", "Code": "ayu78bn6", "Länge": 200,
"State": "Status 1": "Bng", "Status 2": "Tln", "Code": "Ayu78bn6", "Länge": 300,
]
# Normalisieren Sie die oben genannten Daten auf Stufe 0
normalisiert = pandas.JSON_NOMPERIGE (aktuell_json_data, max_level = 0)
# Zeigen Sie die normalisierten Daten an
drucken (normalisiert)

Ausgang

State Code Länge
0 'Status 1': 'AP', 'Status 2': 'Ind', 'Status 3':… APH456 100
1 TS SCVH456 160
2 Mutter SavH4mo6 200
3 Wortspiel Ayu78Bn6 200
4 'Status 1': 'Bng', 'Status 2': 'tln' ayu78bn6 300

Erläuterung

Die Normalisierung erfolgt nur bis zu Stufe 0. Trotzdem können wir die Daten in der State -Spalte normalisieren.

Normalisieren wir im nächsten Beispiel auf Stufe 1.

Beispiel 4

Erstellen wir fünf Wörterbücher in einer Liste (Liste der Wörterbücher) und normalisieren sie auf Stufe 1.

Pandas importieren
# Betrachten Sie die JSON -Daten
truct_json_data = [
"State": "Status 1": "AP", "Status 2": "Ind", "Status 3": "Cal", "Code": "APH456", "Länge": 100,
"Status": "Ts", "Code": "Scvh456", "Länge": 160,
"Zustand": "Mama", "Code": "SavH4mo6", "Länge": 200,
"Status": "Pun", "Code": "ayu78bn6", "Länge": 200,
"State": "Status 1": "Bng", "Status 2": "Tln", "Code": "Ayu78bn6", "Länge": 300,
]
# Normalisieren Sie die oben genannten Daten auf Stufe 1
normalisiert = pandas.JSON_NOMPERIGE (aktuell_json_data, max_level = 1)
# Zeigen Sie die normalisierten Daten an
drucken (normalisiert)

Ausgang

Code Länge Status.Staat 1 Staat.Staat 2 Staat.Staat 3 Staat
0 APH456 100 AP Indal Nan
1 scvh456 160 nan nan nan ts
2 SavH4mo6 200 Nan Nan Nan Mum
3 AYU78BN6 200 Nan Nan Nan Pun
4 AYU78BN6 300 BNG TLN NAN NAN

Erläuterung

Jetzt können Sie sehen, dass die maximale Normalisierung durchgeführt wird.

Beispiel 5: mit record_prefix als Parameter

Erstellen Sie JSON-Daten mit einem Wörterbuch mit drei Zuständen und fügen Sie das Präfix „i-“ zum staatlichen Etikett hinzu.

Pandas importieren
# Betrachten Sie die JSON -Daten
TUPAL_JSON_DATA = "STATE": ["AP", "TS", "PNU"]
# Normalisieren Sie die obigen Daten, indem Sie den Parameter "Record_Prefix" übergeben
normalisiert = pandas.JSON_NOMPERIGE (CRUSE_JSON_DATA, "STATE", record_prefix = "i-")
# Zeigen Sie die normalisierten Daten an
drucken (normalisiert)

Ausgang

I-0
0 ap
1 ts
2 PNU

Erläuterung

Also fügen wir dem Staat das Präfix hinzu. Nach der Normalisierung wird das Präfix zum Etikett 0 hinzugefügt.

Abschluss

"Pandas JSON -Normalisierung" ist eine sehr effektive, leistungsstarke und bequem. Wir haben alle Optionen für Pandas JSON -Normalisierungsoptionen in diesem Artikel erfahren. Wie erläutert, haben wir die JSON -Normalisierung unter Verwendung der maximalen Ebene „0“ und der maximalen Ebene „1“ für die Verteilungsweise durchgeführt. Wir haben auch die JSON -Normalisierung auf dem DataFrame und mehreren Datenspalten durchgeführt. Die JSON -Normalisierungsmethode von Pandas führt uns zu einer nachhaltigen Leistung des Datenrahmens in jeder Hinsicht.