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

Wie gehen Pandas mit verschachtelten JSON-Objekten um?

Barbara Streisand
Barbara StreisandOriginal
2024-10-24 18:28:05581Durchsuche

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>

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>

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>

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!

Stellungnahme:
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