Heim >Backend-Entwicklung >Python-Tutorial >Wie importiere und verarbeite ich verschachtelte JSON-Daten in Pandas DataFrames?

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

Linda Hamilton
Linda HamiltonOriginal
2024-10-24 11:40:02919Durchsuche

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>

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!

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