首頁 > 後端開發 > Python教學 > 如何將巢狀 JSON 結構轉換為結構化 Pandas DataFrame?

如何將巢狀 JSON 結構轉換為結構化 Pandas DataFrame?

Susan Sarandon
發布: 2024-10-24 11:41:29
原創
829 人瀏覽過

How to Convert Nested JSON Structures into Structured Pandas DataFrames?

揭開嵌套JSON 的神秘面紗:轉換為Pandas DataFrame

將嵌套JSON 結構轉換為結構化Pandas DataFrame 的過程可能會令人望而生畏,但需要使用正確的工具和方法技術,它變成了一項無縫的任務。讓我們探討一下可用於此轉換的選項。

JSON 規範化:一種簡單的方法

json_normalize 為展平巢狀 JSON 物件提供了強大的解決方案。當我們開始採用這種方法:

<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>
登入後複製

輸出:

  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 
登入後複製

解析名稱和串聯分組

但是,如果扁平化不是您的最終目標,您可以採用另一種方​​法:

<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>
登入後複製

輸出:

        date    name                                          locations
0 2016-01-10  R 3932         Spital am Pyhrn Bahnhof,Windischgarsten Bahnho... 
登入後複製

此技術使您能夠連接位置不影響嵌套結構。

以上是如何將巢狀 JSON 結構轉換為結構化 Pandas DataFrame?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板