Python数据分析入门实战一:统计分析用户学习数据

Python数据分析要求:

使用 Python 基础知识分析用户学习数据 json 文件,并从文件中统计出中指定的数据项。

用户学习数据 json 文件下载:

http://labfile.oss.aliyuncs.com/courses/764/user_study.json

user_study.json 文件部分内容展示如下:

{"minutes": 30, 
"created_at": "2016-05-01 00:00:10", 
"user_id": 199071, 
"lab": "\u7528\u6237\u53ca\u6587\u4ef6\u6743\u9650\u7ba1\u7406", 
"course": "Linux \u57fa\u7840\u5165\u95e8\uff08\u65b0\u7248\uff09"}

文件中每一项为用户学习记录,代表某用户的某一次学习,其中每一项字段含义如下:

  • user_id 用户 ID
  • lab 实验名称
  • course 课程名称
  • minutes 学习分钟数
  • created_at 学习时间

在本挑战中,你需要编写analysis.py文件,定义函数 analysis解析并统计学习数据,analysis 函数接受两个参数。第一个参数为学习数据 json 文件名称,其文件内容格式和 user_study.json 文件格式一致,第二个参数为 用户 ID。

你需要在函数中解析 json 文件中,并从中统计出第二个参数指定的用户 ID 的学习次数和总学习分钟数,也就是说函数将返回两个值,第一个为指定用户的学习时间,第二个为指定用户的总学习分钟数。

示例代码:

# 需要使用 json 包解析 json 文件
import json


def analysis(file, user_id):
    times = 0
    minutes = 0

    # 完成剩余代码

    return times, minutes
  • 函数名必须是 analysis
  • 代码必须写入 ~/Code/analysis.py 文件中;
  • analysis 函数接受两个参数,第一个参数是 json 文件名称,第二个参数是用户 ID;
  • analysis 函数返回两个值,第一个值是指定用户的学习时间,第二个值是指定用户的学习分钟数;
  • 如果传递给 analysis 函数的文件不存在或者用户 ID 不存在时返回 0 即可;

提示

  • Python 中可以使用 json 包解析 json 文件;
  • user_study.json 文件包含的是 json 文本,包含了多项用户学习数据;
  • 下一页有答案

125jz网原创文章。发布者:江山如画,转载请注明出处:http://www.125jz.com/10199.html

(1)
江山如画的头像江山如画管理团队
Python 函数练习-生成指定长度的随机字符串(包含大小写字母,及数字)
上一篇 2022年2月3日 上午9:59
如何把科学伦理、工程伦理融入专业课课程思政?(含可操作步骤及方法)
下一篇 2022年2月19日 上午8:46

99%的人还看了以下文章

  • ASP.NET(C#)学习笔记一:注释、常量与变量

    ASP.NET(C#)的注释 多行注释: /* */ 单行注释: //计算圆的面积:Pi*r*r 实例1:注释的使用 /*以下程序由www.125jz.com站长于2018.1.30日开发,测试通过。     完成功能:计算圆的面积*/     public partial class W…

    2018年1月30日
    6.9K0
  • 通用数据库操作类及员工信息查询实例

    package com.common; import java.sql.*; public class DataBaseConn { public Connection conn = null; public void createConn(){ String url = “jdbc:mysql://localhost:3306/employeeDb”; S…

    2019年11月27日
    18.5K0
  • Java GUI编程高级实例二:弹出式菜单及添加工具栏

    三、 为组件定制弹出式菜单 问题的提出  为“Java Editor”程序的文本编辑区域定制如图所示的的弹出式菜单。 菜单中有五个菜单项组成,分别指示了不同的字体风格,可通过菜单项的选择实现文本区域中文本字体和字号的改变。 用JPopupMenu类建立弹出式菜单 建立弹出式菜单 预先定义一个继承JPopupMenu类的子类,弹出式菜单施加给的对象应由构造方法…

    2020年1月22日
    9.3K0
  • MySQL存储过程快速入门

    什么是存储过程 创建一个简单的存储过程 存储过程中的参数 存储过程的优势和不足 一、什么是存储过程 存储过程简单来说,就是为以后的使用而保存的一条或多条MySQL语句的集合。 一个存储过程是一个可编程的函数,它在数据库中创建并保存。它可以有SQL语句和一些特殊的控制结构组成。 存储过程就是一组SQL语句集,功能强大,可以实现一些比较复杂的逻辑功能 MySQL…

    2018年12月20日
    3.6K0
  • opencv 图像旋转 cv2.rotate和np.rot90案例精讲

    OpenCV 方法 OpenCV 中带有一个旋转图像的函数 cv2.rotate rotate(src, rotateCode[, dst]) -> dst参数:src:输入图像rotateCode:旋转方式1、cv2.ROTATE_90_CLOCKWISE:顺时针 90 度2、cv2.ROTATE_180:顺时针 180 度3、cv2.ROTATE_…

    2022年12月1日
    10.7K0
  • python 实战-逢7 过游戏的实现

    不知道你有没有玩过“逢 7 过”的游戏,游戏规则很简单: 几个人轮流报数,凡遇到 7 的倍数,或含 7 的数字就要跳过,否则就算失败。 今天我们就用 Python 来打印 1 到 100 之间,所有满足条件的数字。 知识点 Python 开发环境 int 类型 变量 运算符 while 循环 条件判断 💡提示: 开发中,我们经常要先构思框架,…

    2022年2月2日
    11.9K0

发表回复

登录后才能评论