Perjalanan untuk menukar struktur JSON bersarang kepada Pandas DataFrames berstruktur boleh menjadi menakutkan, tetapi dengan alatan dan teknik, ia menjadi tugas yang lancar. Mari terokai pilihan yang tersedia untuk transformasi ini.
Penormalan JSON: Pendekatan Lurus
json_normalize menyediakan penyelesaian yang berkuasa untuk meratakan objek JSON bersarang. Semasa kami memulakan pendekatan ini:
<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_') print (df)</code>
Output:
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
Menghuraikan Nama dan Pengumpulan untuk Penggabungan
Walau bagaimanapun, jika meratakan bukan matlamat utama anda, anda boleh menerima pendekatan alternatif:
<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>
Output:
date name locations 0 2016-01-10 R 3932 Spital am Pyhrn Bahnhof,Windischgarsten Bahnho...
Teknik ini membolehkan anda menggabungkan lokasi tanpa menjejaskan struktur sarang.
Atas ialah kandungan terperinci Bagaimana untuk Menukar Struktur JSON Bersarang ke Bingkai Data Panda Berstruktur?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!