1、课程基本信息 课题数据分析 教科书 书名:信息技术必修 1 数据与计算 出版社:人民教育出版社&中国地图出版社出版日期:2019 年 6 月 教学目标 教学目标:了解数据分析的作用,掌握三种数据分析方法,根据需求选择恰当的方法进 行数据分析。 教学重点:三种数据分析方法:对比分析法、平均分析法、结构分析法。 教学难点:三种数据分析方法。 教学过程 时 间 教学 环节 主要师生活动 1 分 钟 课堂 引入 新知 讲授 1 1、课堂引入、课堂引入 教师:首先,让我们一起来回顾一下之前本单元学习的内容。通过之 前的学习,我们已经了解到数据处理的一般过程包含数据采集、数据 整理、数据分析和数据呈现四个
2、过程。 我们已经学习了数据采集,数据整理,并通过体验活动体验了数据采 集和数据整理的过程。这节课我们来了解第三个步骤数据分析。 2 2、数据分析的概念、数据分析的概念 教师:那么什么是数据分析?数据分析是为了获取有价值的信息,使 用适当的计算方法与工具对收集来的数据进行处理,提取有用信息, 形成结论从而支持决策。那么数据分析到底有哪些有哪些作用? 教师:首先,我们来看这张图,这是一张新冠肺炎疫情当前的数据。 通过对数据的分析,我们可以发现当前我国现有确诊人数较少,疫情 控制良好,主要风险来自境外输入。而且境外的疫情数据可以展示出 目前全球疫情的严峻现状。 故,数据分析可以帮助我们了解事物的现状
3、。这就是数据分析的第一 个作用。 教师:我们来看这张图,这是一张我国新冠肺炎疫情的数据图表。通 过表中的病死率和治愈率,我们可以清晰观察到治愈率的变化过程, 在疫情初期是有一段由高到低,到了拐点后快速攀升的过程。这也符 合我国疫情初期的实际情况。而致死率基本在低位徘徊,也显示出疫 情的总体控制情况良好。显然图中的数据可以帮助我们了解疫情发展 和变化的过程。故,数据分析的第二个作用是了解事物的发展历程, 从而进一步探究问题产生的原因。 教师:我们来看这张图,这是一张 2020 到 2050 哈尔滨老年人口占比 的预测图。通过已有数据,可以预测出未来哈尔滨老年人口的占比会 高达 38%,也就是极度
4、老龄化。这就是数据分析的第三个作用预 测事物未来走向 3 3、数据分析、数据分析 教师:在了解了数据分析的作用后,我们一起来通过课堂活动一起体 验下数据分析的过程吧!金山银山不如绿水青山,最近这些年,国家 落实严控环境污染、修复生态环境等政策。随着政策落实,你所在家 乡的空气质量是否有所改善?上节课,我们对空气质量数据做了整 理,本节课,我们要分析之前整理好的数据,从而做出判断。 【三种数据分析方法】 3.13.1 课堂任务课堂任务 1 1 (平均分析法)(平均分析法) 教师:依据现有数据,我们怎样判断一天的空气质量情况如何呢?请 大家想一想。或许你和我想的一样呢。现有的数据是每小时的空气质
5、量数据,我们可以计算一天 24 小时的 AQI 平均值,从而判断这一天 的基本空气质量。在这里通过计算平均值来分析就是平均分析法。 教师:什么是平均分析法呢?平均分析法是指运用计算平均数的方法 来反映总体在一定时间、地点条件下某一数量特征的一般水平。多用 于比较同类现象在不同地区、不同行业、不同类型单位等之间的差异 程度,分析现象之间的依存关系;也可以对某一现象在不同时间的水 平进行比较,以说明现象的发展规律及趋势。比如我们平均工资反应 整体薪酬水平、平均年龄、平均身高、平均分等。 教师:我们的这个课堂任务需要我们计算一天中 24 小时的 AQI 平均 值,所以我们需要计算出每一天的 AQI
6、平均值。 【DataFrame 筛选方法】 df.loc条件,列索引号筛选数据 教师:要计算出每一天的数据平均值,首先需要我们筛选数据。 我们今天依然使用 pandas 这个库来对数据进行处理和分析。 Pandas 库中的 DataFrame 如何筛选数据呢? 我们还可以使用 df.loc df北京50,北京 实现筛选,方括 号内,第一个参数是条件,第二个参数是要筛选显示的列索引号。 【DataFrame 按日期筛选数据】 df.loc日期索引列索引号筛选 教师:我们还需要按照日期来筛选。那么在把日期列作为索引后,我 课堂 小结 课后 练习 们可以直接使用 df.loc2014-05-13北京
7、筛选出满足日期的 数据。 教师:下面,请各位同学下载课堂活动 1(每日 AQI 平均值).py 文 件,和上节课生成的补全数据 csv 文件放在同目录。打开代码后,可 以根据自己所在城市,修改代码中的城市名和文件名。 教师:下面,我们一起来看看代码是如何实现计算每日 AQI 平均值的 吧!第一句代码,依然是导入了 pandas 库。紧接着三句代码,我们 定义了要操作的数据列索引,也就是城市名称,处理的文件名、处理 后数据保存文件名。第五句,还是读取文件,只是这里我们多写了一 个参数 index_col 把 date 这列作为了默认行索引。最后一句,就是 返回该表的行索引组成的列表。而且去除重复
8、值后的唯一值。 教师: 下面, 我们定义新数据表的第一行数据, 也就是未来的列索引。 分别是 date,type,和城市名称。接着,我们是用 for 循环对刚才得 到的不重复的日期进行挨个筛选和计算平均值。这里需要注意这句语 句是筛选出指定日期的 AQI 数据, 然后通过 mean()这个方法计算平均 值,使用 round 函数将结果数据的精度修改为一位小数,最后把计算 出的平均值赋值给变量 meandata。接着,我们组成新的一行数据,存 放到临时新表 data 这个列表里。然后,循环完后,我们将拼凑好的 新数据转换成一个 DataFrame 结构。赋值给变量 newdf,最后将这个 表另存
9、即可。 教师:下面,请暂停视频,请大家运行 课堂活动 1 的程序文件,看 看生成的结果文件吧! 学生:完成体验活动。 3.23.2 课堂任务课堂任务 2 2 对比分析法对比分析法 教师:通过现有数据,我们如何分析现在的空气质量和过去比是否有 了改善?大家想一想? 学生:思考回答 教师:嗯,我想或许有人会这么想,可以对比下空气质量为优的天数 在过去几年的变化趋势。这里我们通过对比的方法来分析问题,用到 了对比分析法! 教师:什么是对比分析法?对比分析法也叫比较分析法,通常用于从 数量上展示 和说明研究对象规模大小,水平高低等。对比分析法分 为横向和纵向对比两大类。 教师:同类数据在地区之间或部门
10、之间对比是横向对比。如图,老龄 化也是这几年一个很热门的话题,这张图表呈现了不同省份同一时期 的老龄人口抚养比。通过对比,可以分析出不同省份的养老压力是不 同的。显然,这也是一种横向对比分析。 教师:同类数据在不同时期的对比,就是纵向对比。 如图, 我国的平均预期寿命在不同年份是不同的, 显然随着时间推移, 人均预期寿命是逐步提高的。这就是纵向对比。 教师:我们回顾下要做的课堂任务,我们需要对比空气质量为优的天 数在过去几年间的变化趋势。那么我们需要什么数据呢? 学生:思考 教师: 我们需要每一年空气质量为优的天数, 也就是 AQI 小于等于 50 的天数。 教师: 下面我们一起来体验下统计过
11、程。 请下载课堂活动 2 (统计 AQI 为优数据).py 文件,和活动 1 生成的 AQI 每日平均值文件放在同目 录。注意:根据自己选择的城市,修改代码中城市名和文件名。 教师:让我们看看代码是如何实现统计的。 首先还是导入库,接着定义了城市、处理文件、结果文件名称。 这里多了而两个变量表示开始统计的年份和结束的年份。为什么要定 义?因为我们发现采集的 2014 年和 2020 年数据不完整,不是全年的 数据。所以,我们只统计 2015-2019 的年度数据。接着,我们打开文 件。将 date 这一列转换为时间日期格式,转换后重新存回 df 这个表 中。接着,我们设置行索引为 date 这
12、列的数据。我们就可以根据这 列的日期来筛选数据了。最后,我们新建结果数据,先建立第一行, 也就是新表的列索引,就是我们熟悉的列标题。 教师:接着,我们使用 for 循环依次对每年的数据进行统计。注意, 我们使用年份来筛选出行,存到变量 datas。然后,我们在这些行组 成的表中筛选出值200)。 【DataFrame 多条件筛选数据】 df.loc(条件 1)&(条件 2),列索引号筛选数据 教师:上个任务中,我们使用单个条件筛选数据,这种方法在这里显 然不行了。这里我们需要同时多条件筛选数据。如图所示,在表格软 件中,筛选空气良好的数据,可以筛选北京这列 AQI 值满足大于 50 且小于等于
13、 100 的数据。这里使用 python 编程筛选多个条件的数据, 怎么实现呢?我们可以用圆括号括起每个条件,然后用&符号连接组 成复合条件。比如 df.loc(df北京=50) &(df北京 =100),北京 ,这样就可以筛选出北京这一列符合两个条件 的数据。 教师:让我们打开代码,一起看看,前面几部分和任务 2 相同 需要注意的是我们依然需要将 date 这列数据转换为时间日期格式, 并且这列的数据设置为行索引。接着,我们依然拼凑出新表格的第一 行数据,也就是未来表格的列标题,存放到 data 这个列表里。 教师:接着,我们依然使用 for 循环,对数据按日期进行筛选。 接着对筛选出的数据
14、表,进行统计。注意,这一行统计出了 AQI=50 的数据,使用 count 方法统计出筛选出的数据,也就是 AQI 为优的天 数。下面,请暂停视频,请大家参考已有代码,自行补全缺失代码, 将 5 种空气质量类别都统计出来。 教师:最后依然是新数据表的构建和保存过程。 请大家完成代码后,暂停视频,运行程序,查看生成的结果文件。 教师:我猜想,大家都顺利完成了吧!通过统计,我们发现北京市的 优质天逐年递增,良好天也逐年递增。轻度污染、中度污染、重度污 染天数逐年减少。显然,北京的空气质量的确是改善了! 3.43.4 活动总结活动总结 教师:刚才的活动中,我们完成了三个小任务。 1、计算每天的 AQ
15、I 平均值,2、统计出每年 AQI 为优的天数,3、统 计出每年 AQI 各类情况的天数。这个过程分别使用了数据分析的三种 方法平均分析法(利用求平均值来分析) 、对比分析法(对比同 类数据不同年份的情况) 、结构分析法(通过各部分在整体中的分布 进行分析) 。 4 4、课堂总结、课堂总结 5 5、课后作业、课后作业 教师:最后,还是给大家留一个课后作业。 之前,各位同学针对身边同学们的课余时间安排做了调查问卷,并且 对调查来的原始数据做了基本的数据整理。请利用整理好的数据,做 出 1-2 项具体的分析。这里,请参考学习资料来完成 Python 编程实 现的数据分析。 教师:今天我们的课就学习到这里,谢谢大家!