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、asp.net、php、jsp比较

    asp、asp.net、php、jsp技术简介 ASP 全称为Active Server Pages(中文译名为活动服务器页面),是微软公司推出的用于Web应用服务的一种编程技术.采用的脚本语言: VBScript 和JavaScript。 ASP.NET 微软公司很快公布了其宏伟的“Windows.NET”计划,发布了成为下一代网络服务框架的NGWS,同时…

    2018年3月15日
    4.2K0
  • python属于编译型还是解释型的语言?python是哪一种类型的编译语言

    Python先把代码编译成字节码,再对字节码解释执行。 java   编译型(请求次数多)+解释型(请求次数少) 解释性语言定义: 程序不需要编译,在运行程序的时候才翻译,每个语句都是执行的时候才翻译。这样解释性语言每执行一次就需要逐行翻译一次,效率比较低。 现代解释性语言通常把源程序编译成中间代码,然后用解释器把中间代码一条条翻译成目标机器代码,一条条执行…

    2023年2月26日
    12.7K0
  • 5分钟快速入门AJAX

    什么是AJAX? 第一步:如何发出一个HTTP请求第二步:处理服务器的响应第三步:一个简单的例子第四步:与XML响应协同工作 什么是AJAX AJAX是一个新的合成术语,隐含了两个已经存在多年的JavaScript特性,但是直到最近,随着一些诸如Gmail、Google Suggest以及Google Maps的轰动,才被许多网络开发者所注意到。 我们所讨论…

    2020年4月4日
    10.5K0
  • ubuntu打开命令行终端的三种方法

    1、方法一(推荐使用) 快捷键 Alt + Ctrl + T 2、方法二  3、方法三

    2022年8月16日
    7.8K0
  • 1.Spring框架概述

    1.Spring框架概述1.Spring框架概述1.Spring框架概述1.Spring框架概述

    1.1、资源 1.2、Spring历史 1.3、框架特征与功能 1.4、Spring组成 1.5、Spring Boot与Spring Cloud 一、Spring框架概述 Spring是一个开源免费的框架,为了解决企业应用开发的复杂性而创建。Spring框架是一个轻量级的解决方案,可以一站式地构建企业级应用。Spring是模块化的,所以可以只使用其中需要的…

    2023年1月19日 • 编程开发
    10.6K0
  • pageEncoding和contentType编码作用和区别详解

    pageEncoding和contentType都用于定义字符编码,两者有什么区别?相信不少初学者都会有疑惑,今天中国网页设计给大家详细解读两者的区别,pageEncoding和contentType都在什么时候起作用。

    2022年12月1日
    2.3K0

发表回复

登录后才能评论