將嵌套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("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>
輸出:
date name locations 0 2016-01-10 R 3932 Spital am Pyhrn Bahnhof,Windischgarsten Bahnho...
此技術使您能夠連接位置不影響嵌套結構。
以上是如何將巢狀 JSON 結構轉換為結構化 Pandas DataFrame?的詳細內容。更多資訊請關注PHP中文網其他相關文章!