Heim  >  Artikel  >  Backend-Entwicklung  >  Wie lese ich verschachteltes JSON in einen Pandas-DataFrame ein und manipuliere Datenstrukturen?

Wie lese ich verschachteltes JSON in einen Pandas-DataFrame ein und manipuliere Datenstrukturen?

Barbara Streisand
Barbara StreisandOriginal
2024-10-24 12:10:02275Durchsuche

How to Read Nested JSON into a Pandas DataFrame and Manipulate Data Structures?

Lesen von verschachteltem JSON als Pandas-DataFrame

Um eine JSON-Datei mit verschachtelten Objekten als Pandas-DataFrame zu lesen, können Sie das leistungsstarke json_normalize verwenden Funktion. Mit dieser Funktion können Sie verschachtelte Datenstrukturen in ein Tabellenformat reduzieren und so die Bearbeitung und Analyse der Daten erleichtern.

Arrays in Spalten erweitern

Ihr Beispiel-JSON enthält eine Reihe von Standorten. Anstatt dieses Array als JSON-Spalte beizubehalten, können Sie es in separate Spalten erweitern, um bessere Einblicke in die Daten zu erhalten. json_normalize kann dies mit dem Meta-Parameter erreichen. Es gibt an, welche Spalten nicht verschachtelt und als reguläre Spalten in den DataFrame aufgenommen werden sollen.

<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_', meta=['depTime', 'arrTime'])</code>

Dieser Code erstellt einen DataFrame mit zusätzlichen Spalten für depTime und arrTime, die aus dem Standortarray abgeleitet werden.

Spalte „Standorte“ beitreten

Sie haben erwähnt, dass Sie der Spalte „Standorte“ beitreten möchten. Dies kann mit dem folgenden Code erfolgen:

<code class="python">df['locations'] = df.locations.apply(','.join)</code>

Dadurch werden die Standorte zu einer einzigen durch Kommas getrennten Zeichenfolge verkettet.

Umgang mit mehreren JSON-Objekten

Wenn Ihre JSON-Datei mehrere JSON-Objekte enthält (eines pro Zeile), können Sie den folgenden Code verwenden:

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

# Read the JSON file into a list of dictionaries
with open('myJson.json') as f:
    data = [json.loads(line) for line in f]

# Convert the list of dictionaries to a DataFrame
df = pd.DataFrame(data)</code>

Sie können dann dieselben oben beschriebenen Techniken anwenden, um die verschachtelten Daten zu normalisieren und zu verbinden.

Durch die Nutzung von json_normalize können Sie verschachtelte JSON-Daten effizient lesen, reduzieren und in einem Pandas-DataFrame bearbeiten und so Ihre Datenanalysefunktionen verbessern.

Das obige ist der detaillierte Inhalt vonWie lese ich verschachteltes JSON in einen Pandas-DataFrame ein und manipuliere Datenstrukturen?. 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