Wie verwalte ich verschachtelte JSON-Objekte als DataFrame in Pandas?

DDD
Freigeben: 2024-10-24 14:07:02
Original
874 Leute haben es durchsucht

How to Manage Nested JSON Objects as a DataFrame in Pandas?

Lesen von verschachteltem JSON mit verschachtelten Objekten als Pandas-DataFrame

Beim Umgang mit JSON-Daten, die verschachtelte Objekte enthalten, ist deren effiziente Bearbeitung in Python von entscheidender Bedeutung . Pandas bietet ein leistungsstarkes Tool, um dies zu erreichen – json_normalize.

Erweitern des Arrays in Spalten

Um das Standortarray in separate Spalten zu erweitern, verwenden Sie json_normalize wie folgt:

<code class="python">import json
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 Datenrahmen mit erweiterten Spalten erstellt:

  locations_arrTime locations_arrTimeDiffMin locations_depTime  \
0                                                        06:32   
1             06:37                        1             06:40   
2             08:24                        1                     

  locations_depTimeDiffMin           locations_name locations_platform  \
0                        0  Spital am Pyhrn Bahnhof                  2   
1                        0  Windischgarsten Bahnhof                  2   
2                                    Linz/Donau Hbf               1A-B   

  locations_stationIdx locations_track number    name        date  
0                    0          R 3932         R 3932  01.10.2016  
1                    1                         R 3932  01.10.2016  
2                   22                         R 3932  01.10.2016 
Nach dem Login kopieren

Verarbeitung mehrerer JSON-Objekte

Für JSON-Dateien, die mehrere Objekte enthalten, gilt der Ansatz hängt von der gewünschten Datenstruktur ab.

Einzelne Spalten behalten

Um einzelne Spalten (Datum, Nummer, Name, Orte) beizubehalten, verwenden Sie Folgendes:

<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()

print(df)</code>
Nach dem Login kopieren

Dadurch werden die Daten gruppiert und die Standorte verkettet:

        date    name number                                          locations
0  2016-01-10  R 3932         Spital am Pyhrn Bahnhof,Windischgarsten Bahnho...
Nach dem Login kopieren

Datenstruktur abflachen

Wenn Sie eine abgeflachte Datenstruktur bevorzugen, können Sie dies tun Verwenden Sie json_normalize mit den folgenden Einstellungen:

<code class="python">df = pd.read_json('myJson.json', orient='records', convert_dates=['date'])

print(df)</code>
Nach dem Login kopieren

Dadurch werden die Daten in einer einzelnen Tabelle ausgegeben:

  number    date                   name  ... locations.arrTimeDiffMin locations.depTimeDiffMin locations.platform
0             R 3932  2016-01-10  R 3932  ...                       0                         0                  2
1             R 3932  2016-01-10  R 3932  ...                       1                         0                  2
2             R 3932  2016-01-10  R 3932  ...                       1                         -                  1A-B
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie verwalte ich verschachtelte JSON-Objekte als DataFrame in Pandas?. 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
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!