📜  将嵌套的 JSON 结构转换为 Pandas 数据帧(1)

📅  最后修改于: 2023-12-03 14:53:50.489000             🧑  作者: Mango

将嵌套的 JSON 结构转换为 Pandas 数据帧

如果你正在处理一些嵌套的 JSON 数据,想要将其转换为 Pandas 数据帧,本文就可以帮到你。

1. 安装 Pandas 库

在转换 JSON 数据前,你需要确保已经安装了 Pandas 库。如果你还没有安装,可以通过以下命令安装:

pip install pandas
2. 读取 JSON 数据

假设你已经有一个嵌套的 JSON 数据,首先需要将其读取并转换为 Python 对象。在这里我们使用 json 库来读取 JSON 数据:

import json

with open('example.json', 'r') as f:
    data = json.load(f)

这里假设 JSON 数据保存在 example.json 文件中,在读取 JSON 数据时需要指定该文件的路径。

3. 转换为 Pandas 数据帧

在将 JSON 数据转换为 Pandas 数据帧之前,需要将其转换为平面化的结构。可以使用 json_normalize 函数来实现。

from pandas.io.json import json_normalize

df = json_normalize(data, 'records', ['id', 'name'])

这里的 data 变量是读取的 JSON 数据的 Python 对象,'records' 参数指定了需要平铺的 JSON 数据的键名。['id', 'name'] 参数指定了除了平铺的 JSON 数据外还需要添加到数据帧中的列。

最终生成的 Pandas 数据帧如下所示:

| | high_score | low_score | name | id | attr1 | attr1.a | |---:|-------------:|------------:|:-------|:------|--------:|----------:| | 0 | 100 | 90 | Alice | 10001 | 1 | 10 | | 1 | 95 | 80 | Bob | 10002 | 2 | 20 | | 2 | 98 | 85 | Charlie | 10003 | 3 | 30 | | 3 | 97 | 89 | Dave | 10004 | 4 | 40 |

4. 结论

通过上面的步骤,你可以将嵌套的 JSON 数据转换为 Pandas 数据帧,并进行进一步的数据分析处理。