Heim > Backend-Entwicklung > Python-Tutorial > Wie gehen Pandas mit verschachtelten JSON-Objekten um?

Wie gehen Pandas mit verschachtelten JSON-Objekten um?

Barbara Streisand
Freigeben: 2024-10-24 18:28:05
Original
724 Leute haben es durchsucht

How Do Pandas Handle Nested JSON Objects?

Wie man verschachtelte JSON-Objekte mit Pandas verarbeitet

In diesem Artikel untersuchen wir, wie man JSON-Datenstrukturen mit verschachtelten Objekten mithilfe von Pandas effektiv manipuliert.

Verschachtelte JSON-Struktur

Betrachten Sie die folgende JSON-Struktur:

<code class="json">{
    "number": "",
    "date": "01.10.2016",
    "name": "R 3932",
    "locations": [
        {
            "depTimeDiffMin": "0",
            "name": "Spital am Pyhrn Bahnhof",
            "arrTime": "",
            "depTime": "06:32",
            "platform": "2",
            "stationIdx": "0",
            "arrTimeDiffMin": "",
            "track": "R 3932"
        },
        {
            "depTimeDiffMin": "0",
            "name": "Windischgarsten Bahnhof",
            "arrTime": "06:37",
            "depTime": "06:40",
            "platform": "2",
            "stationIdx": "1",
            "arrTimeDiffMin": "1",
            "track": ""
        },
        {
            "depTimeDiffMin": "",
            "name": "Linz/Donau Hbf",
            "arrTime": "08:24",
            "depTime": "",
            "platform": "1A-B",
            "stationIdx": "22",
            "arrTimeDiffMin": "1",
            "track": ""
        }
    ]
}</code>
Nach dem Login kopieren

Reduzieren mit json_normalize

Die json_normalize-Funktion von Pandas ermöglicht es uns, verschachtelte Objekte in ein Tabellenformat zu reduzieren :

<code class="python">import json

with open('myJson.json') as data_file:    
    data = json.load(data_file)  

df = pd.json_normalize(data, 'locations', ['date', 'number', 'name'], 
                    record_prefix='locations_')</code>
Nach dem Login kopieren

Dies führt zu einem DataFrame mit Spalten für jeden Schlüssel im verschachtelten „locations“-Objekt.

Gruppierte Verkettung ohne Reduzierung

Wenn eine Reduzierung nicht gewünscht ist, Sie können die Gruppierungs- und Verkettungsfunktionen von Pandas nutzen:

<code class="python">df = pd.read_json("myJson.json")
df.locations = pd.DataFrame(df.locations.values.tolist())['name']
df = df.groupby(['date', 'name', 'number'])['locations'].apply(','.join).reset_index()</code>
Nach dem Login kopieren

Dieser Ansatz verkettet die „Standorte“-Werte als durch Kommas getrennte Zeichenfolge für jede eindeutige Kombination aus „Datum“, „Name“ und „Nummer“. .

Fazit

Durch die Verwendung der json_normalize- und Gruppierungs-/Verkettungsfunktionen von Pandas können wir verschachtelte JSON-Strukturen effektiv verarbeiten und so Daten in einem Tabellenformat extrahieren und bearbeiten.

Das obige ist der detaillierte Inhalt vonWie gehen Pandas mit verschachtelten JSON-Objekten um?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage