Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimana untuk Menukar Struktur JSON Bersarang ke Bingkai Data Panda Berstruktur?

Bagaimana untuk Menukar Struktur JSON Bersarang ke Bingkai Data Panda Berstruktur?

Susan Sarandon
Lepaskan: 2024-10-24 11:41:29
asal
829 orang telah melayarinya

How to Convert Nested JSON Structures into Structured Pandas DataFrames?

Merungkai Misteri JSON Bersarang: Berubah menjadi Pandas DataFrames

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>
Salin selepas log masuk

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 
Salin selepas log masuk

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(&quot;myJson.json&quot;)
df.locations = pd.DataFrame(df.locations.values.tolist())['name']
df = df.groupby(['date','name','number'])['locations'].apply(','.join).reset_index()
print (df)</code>
Salin selepas log masuk

Output:

        date    name                                          locations
0 2016-01-10  R 3932         Spital am Pyhrn Bahnhof,Windischgarsten Bahnho... 
Salin selepas log masuk

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!

sumber:php
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan