将嵌套 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中文网其他相关文章!