入れ子になった 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 中国語 Web サイトの他の関連記事を参照してください。