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>
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>
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>
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>
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>
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!