Wie importiere und verarbeite ich verschachtelte JSON-Daten in Pandas DataFrames?

Linda Hamilton
Freigeben: 2024-10-24 11:40:02
Original
801 Leute haben es durchsucht

How to Import and Process Nested JSON Data into Pandas DataFrames?

Verschachtelte JSON-Dateien als Pandas-DataFrames lesen

Beim Arbeiten mit JSON-Daten, die verschachtelte Objekte enthalten, kann es erforderlich sein, diese in mehr zu konvertieren strukturiertes Format zur Analyse oder Manipulation. Pandas bietet nützliche Tools für den effizienten Umgang mit solchen Daten.

Szenario:

Betrachten Sie eine JSON-Datei mit der folgenden Struktur:

<code class="json">{
    "number": "",
    "date": "01.10.2016",
    "name": "R 3932",
    "locations": [
        { ... },
        { ... },
        { ... }
    ]
}</code>
Nach dem Login kopieren

Verwendung von json_normalize:

Mit der json_normalize-Funktion können Sie verschachteltes JSON in einen DataFrame reduzieren. Für den angegebenen JSON können Sie Folgendes tun:

<code class="python">import pandas as pd

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

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

Dadurch wird ein DataFrame mit den folgenden Spalten erstellt:

Erweitern, um verschachtelte Daten beizubehalten:

Wenn Sie das verschachtelte Array lieber intakt lassen möchten, können Sie read_json mit dem Parsing-Parameter verwenden. Dadurch wird der JSON in einen DataFrame mit der Standortspalte als Liste von Wörterbüchern analysiert.

<code class="python">df = pd.read_json("myJson.json", orient='records', parsing = True)</code>
Nach dem Login kopieren

Alternativ können Sie die Standortspalte mithilfe des Konstruktorparameters analysieren:

<code class="python">df = pd.read_json("myJson.json", orient='records',
                  constructor=lambda x: pd.DataFrame(x['locations']))</code>
Nach dem Login kopieren

Verschachtelte Werte verketten:

Wenn Sie die Werte in der Spalte „Standorte“ zu einer einzigen Zeichenfolge zusammenfassen möchten, können Sie die Funktionen „groupby“ und „apply“ verwenden:

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

Das obige ist der detaillierte Inhalt vonWie importiere und verarbeite ich verschachtelte JSON-Daten in Pandas DataFrames?. 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
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!