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
Susan Sarandonasal
2024-10-24 11:41:29802semak imbas

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>

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

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!

Kenyataan:
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