JSON 数据的统计分析

PythonPythonBeginner
立即练习

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

简介

在这个项目中,你将学习如何使用 Python 对 JSON 数据进行统计分析。你将解析一个包含用户学习数据的 JSON 文件,提取特定信息,并计算给定用户学习的课程数量和学习的总分钟数。

👀 预览

$ python3 analysis.py
(4, 12)

🎯 任务

在这个项目中,你将学习:

  • 如何使用 Python 读取和解析 JSON 文件
  • 如何从 JSON 数据中提取特定的数据项
  • 如何对提取的数据进行统计分析

🏆 成果

完成这个项目后,你将能够:

  • 开发一个 Python 函数来分析 JSON 数据
  • 计算给定用户学习的课程数量和学习的总分钟数
  • 应用基本的数据分析技术从结构化数据中提取见解

Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL python(("Python")) -.-> python/FunctionsGroup(["Functions"]) python(("Python")) -.-> python/FileHandlingGroup(["File Handling"]) python(("Python")) -.-> python/PythonStandardLibraryGroup(["Python Standard Library"]) python/FunctionsGroup -.-> python/function_definition("Function Definition") python/FileHandlingGroup -.-> python/file_reading_writing("Reading and Writing Files") python/PythonStandardLibraryGroup -.-> python/data_serialization("Data Serialization") subgraph Lab Skills python/function_definition -.-> lab-302770{{"JSON 数据的统计分析"}} python/file_reading_writing -.-> lab-302770{{"JSON 数据的统计分析"}} python/data_serialization -.-> lab-302770{{"JSON 数据的统计分析"}} end

实现 analysis 函数

在这一步中,你将实现 analysis 函数来解析 JSON 文件并分析用户数据。

  1. 将以下代码添加到 analysis.py 文件中:
import json


def analysis(file, user_id):
    """
    将 json 加载到这个函数中并解析数据
    """
    with open(file, "r", encoding="utf-8") as f:
        data = json.load(f)

    学习的课程数 = 0
    总分钟数 = 0

    for 项 in data:
        if 项["user_id"] == user_id:
            学习的课程数 += 1
            总分钟数 += 项["minutes"]

    return 学习的课程数, 总分钟数
  1. analysis 函数接受两个参数:

    • file:包含用户学习数据的 JSON 文件的名称
    • user_id:你想要分析其数据的用户的 ID
  2. 该函数读取 JSON 文件,遍历数据,并计算指定用户学习的课程数量和学习的总分钟数。

  3. 该函数返回两个值:

    • 学习的课程数:指定用户学习的课程数量
    • 总分钟数:指定用户学习的总分钟数

测试 analysis 函数

在这一步中,你将通过使用提供的 user_study.json 文件和一个用户 ID 来调用 analysis 函数,从而对其进行测试。

  1. analysis.py 文件的末尾添加以下代码:
if __name__ == "__main__":
    print(analysis("user_study.json", 131866))
  1. 保存 analysis.py 文件。
  2. 在终端中运行 analysis.py 脚本:
python3 analysis.py
  1. 输出应该是一个元组,包含用户 ID 为 131866 的用户学习的课程数量和学习的总分钟数。
(4, 12)

恭喜你!你已经完成了这个项目。现在你可以使用 analysis 函数来分析 user_study.json 文件中的用户学习数据了。

✨ 查看解决方案并练习

总结

恭喜你!你已经完成了这个项目。你可以在 LabEx 中练习更多实验来提升你的技能。