将 JSON 数据加载到 Pandas DataFrame 中

DDD
发布: 2025-08-24 17:04:19
原创
188人浏览过

将 JSON 数据加载到 Pandas DataFrame 中

本文介绍了如何使用 Python 和 Pandas 库将 JSON 数据转换为 DataFrame。通过解析 JSON 字符串并利用 pd.DataFrame 函数,可以将 JSON 数据中的数据部分和列名部分结合起来,快速构建一个结构化的 DataFrame,方便后续的数据分析和处理。文章提供了详细的代码示例,帮助读者理解并应用该方法。

使用 Pandas 将 JSON 数据加载到 DataFrame

在数据处理过程中,经常需要将 json 格式的数据转换为更易于分析和操作的 dataframe 结构。pandas 提供了便捷的方法来实现这一转换。

步骤 1:导入必要的库

首先,需要导入 pandas 库来创建和操作 DataFrame,以及 json 库来解析 JSON 字符串。

import pandas as pd
import json
登录后复制

步骤 2:加载 JSON 数据

假设你有一个 JSON 字符串,例如:

jstr = """
{
    "data": [
        [
            "2023-01-01",
            50,
            50,
            82,
            0.0,
            4.32,
            0.1,
            0
        ],
        [
            "2023-01-02",
            298,
            315,
            550,
            0.0,
            4.920634920634921,
            0.13758389261744966,
            0
        ],
        [
            "2023-01-03",
            709,
            724,
            1051,
            0.0,
            3.064917127071823,
            0.0930888575458392,
            0
        ],
        [
            "2023-01-04",
            264,
            292,
            660,
            0.0,
            6.493150684931507,
            0.2803030303030303,
            0
        ],
        [
            "2023-01-05",
            503,
            523,
            882,
            0.0,
            3.7667304015296366,
            0.14314115308151093,
            0
        ],
        [
            "2023-01-06",
            423,
            437,
            735,
            0.0,
            3.5652173913043477,
            0.12056737588652482,
            0
        ],
        [
            "2023-01-07",
            97,
            102,
            146,
            0.0,
            3.5294117647058822,
            0.13402061855670103,
            0
        ],
        [
            "2023-01-08",
            70,
            71,
            169,
            0.0,
            6.52112676056338,
            0.1,
            0
        ],
        [
            "2023-01-09",
            301,
            337,
            721,
            0.0,
            5.9614243323442135,
            0.26578073089701,
            0
        ],
        [
            "2023-01-10",
            313,
            352,
            678,
            0.0,
            5.8522727272727275,
            0.2364217252396166,
            0
        ]
    ],
    "meta": {
        "columns": [
            "timestamp__to_date",
            "visitors",
            "sessions",
            "page_views",
            "goal_conversion_rate",
            "events_per_session",
            "returning_visitors_rate",
            "goal_conversions"
        ],
        "count": 181
    }
}
"""
登录后复制

使用 json.loads() 函数将 JSON 字符串解析为 Python 字典。

data = json.loads(jstr)
登录后复制

步骤 3:创建 DataFrame

Find JSON Path Online
Find JSON Path Online

Easily find JSON paths within JSON objects using our intuitive Json Path Finder

Find JSON Path Online 30
查看详情 Find JSON Path Online

利用 Pandas 的 pd.DataFrame() 函数,将解析后的 JSON 数据转换为 DataFrame。data['data'] 包含了数据,而 data['meta']['columns'] 包含了列名。

df = pd.DataFrame(data['data'], columns=data['meta']['columns'])
登录后复制

步骤 4:查看结果

打印 DataFrame,查看转换结果。

print(df)
登录后复制

输出结果如下:

  timestamp__to_date  visitors  sessions  page_views  goal_conversion_rate  events_per_session  returning_visitors_rate  goal_conversions
0         2023-01-01        50        50          82                   0.0            4.320000                 0.100000                 0
1         2023-01-02       298       315         550                   0.0            4.920635                 0.137584                 0
2         2023-01-03       709       724        1051                   0.0            3.064917                 0.093089                 0
3         2023-01-04       264       292         660                   0.0            6.493151                 0.280303                 0
4         2023-01-05       503       523         882                   0.0            3.766730                 0.143141                 0
5         2023-01-06       423       437         735                   0.0            3.565217                 0.120567                 0
6         2023-01-07        97       102         146                   0.0            3.529412                 0.134021                 0
7         2023-01-08        70        71         169                   0.0            6.521127                 0.100000                 0
8         2023-01-09       301       337         721                   0.0            5.961424                 0.265781                 0
9         2023-01-10       313       352         678                   0.0            5.852273                 0.236422                 0
登录后复制

注意事项

  • 确保 JSON 数据的格式正确,data 字段包含数据列表,meta.columns 字段包含列名列表。
  • 如果 JSON 数据来自文件,可以使用 json.load() 函数读取文件内容。
  • 可以根据实际需求对 DataFrame 进行进一步处理,例如数据清洗、转换等。

总结

使用 Pandas 将 JSON 数据加载到 DataFrame 是一种高效且常用的数据处理方法。通过简单的几行代码,就可以将复杂的 JSON 数据转换为结构化的 DataFrame,方便后续的数据分析和挖掘。

以上就是将 JSON 数据加载到 Pandas DataFrame 中的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
热门推荐
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号