资源简介 课程基本信息课题数据整理教科书书名:信息技术必修1数据与计算出版社:人民教育出版社&中国地图出版社出版日期:2019年6月学生信息姓名学校班级学号课后练习上节课同学们通过调查问卷的形式采集了身边同学们的课余时间安排数据,这些数据是否是存在问题?请将采集到的数据进行数据整理,去除无效、错误、重复数据,并对数据进行标准化处理。(请参考学习资料中的示例,了解Python编程实现筛选数据、去重、删除数据的基本方法。)(共45张PPT)数据整理(第二十三课时)回顾数据处理一般过程数据采集数据整理数据分析数据呈现数据保存数据采集到的数据,是怎样保存的呢?常见的数据保存形式是云存储、数据库、文件。文件格式文件格式保存,最常见的是txt、csv格式。csv文件也是一种保存了数据的文本文件,其中的数据通常以英文逗号分隔开。excel、wps等表格软件可以兼容打开该格式的文件。观察数据上图是学生体质健康数据的部分原始数据,观察该数据存在什么问题。原始数据可能存在的问题缺失数据为空错误数据不准确重复重复的数据非标准数据单位格式不一致“脏数据”1、数据整理的目的问题数据清洁数据有效数据完整性准确性统一性提取价值2、数据整理的方法补漏避免缺失勘误标准化、异常值修正去重删除重复删除重复3、数据整理金山银山不如绿水青山,最近这些年,国家落实严控环境污染、修复生态环境等政策。随着环境改善,你家乡的空气质量情况是否有所改善?我们需要数据来帮助判断。每小时采集的空气质量原始数据金山银山不如绿水青山,最近这些年,国家落实严控环境污染、修复生态环境等政策。随着环境改善,你家乡的空气质量情况是否有所改善?我们需要数据来帮助判断。每小时采集的空气质量原始数据金山银山不如绿水青山,最近这些年,国家落实严控环境污染、修复生态环境等政策。随着环境改善,你家乡的空气质量情况是否有所改善?我们需要数据来帮助判断。活动1:观察数据请暂停视频,下载资源包中的文件。打开原始数据.csv。观察数据表中的数据,思考是否存在什么问题。原始数据.csv观察数据——重复存在重复值——需要去重观察数据——筛选存在太多数据——需要筛选观察数据——非标准化日期格式不正确——需要数据标准化观察数据——缺失存在数据缺失——需要尽可能补缺空气质量数据整理需求1、存在重复数据!——去重2、数据太多了,我们只需要某个城市数据!——筛选3、日期格式不正确!——标准化4、现有缺失数据!——尽可能补缺Pandas库介绍Pandas库是数据分析和整理常用的一个第三方库。包含现成方法读写多种文件格式数据。能够高效操作大型数据集。非常擅长处理类似于表格类型的数据。Pandas库介绍Pandas库有两个常用的主要数据结构Series——这是一串数据组成的集合DataFrame——这是一个表格型的数据结构Pandas库——DataFrame结构行索引号列索引号列数据从0开始活动2:空气质量数据去重暂停视频请下载课堂活动(去重).py文件和原始数据.csv放在同目录下。活动2:空气质量数据去重目标——删除重复数据打开下载的程序文件活动2:空气质量数据去重删除重复数据用三句代码实现A.data.to_csv(savename,index=False)——保存文件B.df=pd.read_csv(file,encoding='utf-8',header=0)——读取文件C.data=df.drop_duplicates(keep='first')——删除重复数据正确的顺序是BCA活动2:空气质量数据去重df=pd.read_csv(file,encoding='utf-8',header=0)data=df.drop_duplicates(keep='first')data.to_csv(savename,index=False)请大家参考老师提供的代码,将缺失的代码补全,然后运行,看看去重后的效果吧!读取文件删除重复另存文件活动2:空气质量数据去重活动3:空气质量数据筛选目标——筛选数据现在数据太多了,我需要筛选某个城市的数据!例如筛选北京的数据。DataFrame筛选用法DataFrame筛选数据df[列索引]筛选某列的数据df['北京']筛选红色区域数据DataFrame筛选用法DataFrame筛选数据df[列索引列表]筛选多列数据df[['date','北京']]筛选两列数据DataFrame筛选用法DataFrame筛选数据更多筛选、定位数据的方法请参考学习资料包中的阅读材料DataFrame筛选数据更多筛选、定位数据的方法请参考学习资料包中的阅读材料活动3:空气质量数据筛选暂停视频请下载课堂活动(筛选).py文件和STEP1_删除重复数据.csv放在同目录下。活动3:空气质量数据筛选筛选出date、hour、type、北京这四列数据活动3:空气质量数据筛选读取文件筛选数据另存文件活动3:空气质量数据筛选df=pd.read_csv(file,encoding='utf-8',header=0)data=df[['date','hour','type',city]]data.to_csv(savename,index=False)请大家参考老师提供的代码,将缺失的代码补全,然后运行。看看筛选后的效果吧!读取文件筛选数据另存文件运行效果活动4:空气质量数据标准化处理暂停视频请下载课堂活动(标准化).py文件和STEP2_筛选后数据.csv放在同目录下。活动4:空气质量数据标准化处理目标——数据标准化(日期标准化)日期格式应该是2020-10-01的形式。我们需要对这一列数据处理。活动4:空气质量数据标准化处理2015052120150521用-拼接2015-05-21datestrdatestr[0:4]datestr[4:6]datestr[6:8]datestr[0:4]+'-'+datestr[4:6]+'-'+datestr[6:8]课堂活动:STEP3标准化读取文件循环拼接另存文件读取文件循环拼接另存文件活动4:空气质量数据标准化处理暂停视频请运行课堂活动(标准化).py文件运行结束,观察新生成的数据文件运行效果活动5:空气质量数据补缺暂停视频请下载课堂活动(补缺).py文件和STEP3_日期标准化后数据.csv放在同目录下。活动5:空气质量数据补缺目标——补全缺失数据对于未发布数据,无法补全。对于偶发性缺失数据,可以补全。方法很多,比如线性插值法、均值插值、临近值补缺。这些属于高等数学、线性代数的内容,请课下了解。活动5:空气质量数据补缺目标——数据补缺打开课堂活动(补缺).py自定义函数supplyData实现了补缺。修改city为指定的城市名称。(注意一定和csv文件中的城市名一致)。运行程序,体验下补缺过程。运行效果数据整理活动小结我们通过课堂体验活动,体验了删除重复数据、筛选数据、标准化数据、补全缺失值的整理过程。其实数据整理除了编程工具还有多种工具可以使用,如表格软件、在线数据分析平台等。选择Python编程工具来做数据整理有哪些优势呢?编程可灵活实现使用者的需求4、课堂小结数据整理整理目的整理方法问题数据去重勘误补漏重复数据非标准化数据错误数据缺失数据5、课后作业上节课同学们通过调查问卷的形式采集了身边同学们的课余时间安排数据,这些数据是否是存在问题?请将采集到的数据进行数据整理,去除无效、错误、重复数据,并对数据进行标准化处理。请参考学习资料中的示例了解Python编程实现筛选数据、去重、删除数据的基本方法。自主学习任务单学习指南课题名称:数据整理学习目标:掌握数据整理的基本方法,能够根据需求选择适当的工具整理数据。本节知识点思维导图:学习任务任务1:请暂停视频,下载资源包中的文件。打开原始数据.csv。观察数据表中的数据,思考是否存在什么问题。【思考】表中数据存在的问题有任务2:【删除重复数据】请下载课堂活动(去重).py文件,和原始数据.csv放在同目录下。观察自己所在城市或地区在原始数据.csv中的名称。使用编辑器打开程序,按照自己所在城市名称修改变量city的值。(注意一定和原始数据.csv中的名称一致。)参考以下代码补全课堂活动(去重).py文件中缺失的部分,然后运行程序,观察生成的结果文件STEP1_删除重复数据.csv。df=pd.read_csv(file,encoding='utf-8',header=0)#读取文件data=df.drop_duplicates(keep='first')#删除重复data.to_csv(savename,index=False)#保存文件【思考】本任务,我们实现了对数据的整理是。任务3:【筛选数据】我们的需求是从几百个城市的数据中找到自己所在城市的数据,所以我们需要筛选数据出来。例如,筛选北京的数据。下载课堂活动(筛选).py文件,和STEP1_删除重复数据.csv放在同一目录下。请大家参考以下代码,将缺失的代码补全,然后运行。看看筛选后的数据文件STEP2_筛选后数据.csv。df=pd.read_csv(file,encoding='utf-8',header=0)data=df[['date','hour','type',city]]data.to_csv(savename,index=False)【思考】本任务,我们实现了对数据的整理是。任务4:【数据标准化】原始数据的第一列日期,不是标准yyyy-mm-dd格式。这一步我们完成数据标准化的操作。请下载课堂活动(标准化).py这个文件。注意,要和STEP2_筛选后数据.csv放在同目录。运行程序,观察整理后生成的数据文件STEP3_日期标准化后数据.csv。【思考】本任务,我们实现了对数据的整理是。任务5:【数据补全】数据存在缺失,这一步我们采用一定方法进行数据补全。(请感兴趣的同学课下通过网络了解线性插值法、均值插值、临近值补缺的补缺思路。)下载课堂活动(补缺).py文件,注意和STEP3_日期标准化后数据.csv放在同目录下。运行程序,观察整理后生成的数据文件STEP4_数据补缺.csv。【思考】本任务,我们实现了对数据的整理操作是。评测反思知识小测:结合微课资源,完成以下题目:通常采集的数据存在、、、和的问题。数据整理的过程就是通过删除重复数据、通过纠正非标准化或错误数据、通过补全缺失数据的过程。学习评价:评价指标评价等级及分值优秀9-10分良好5-8分一般3-4分自评老师评任务1(10%)任务2(20%)任务3(20%)任务4(20%)任务5(20%)任务单(10%)学习反思:通过本节课的学习,你最大的收获是什么?在实践操作环节,遇到了哪些困难?你是如何解决的?关于本节课的学习内容,列出你最想进一步研究的内容。课程基本信息课题数据整理教科书书名:信息技术必修1数据与计算出版社:人民教育出版社&中国地图出版社出版日期:2019年6月教学目标教学目标:掌握数据整理的基本方法,能够根据需求选择适当的工具整理数据。教学重点:数据整理的目的和方法。教学难点:数据整理的方法。教学过程时间教学环节主要师生活动1分钟20分钟1分钟1分钟课堂引入新课讲授课堂小结课后作业1、课堂引入教师:通过之前课程的学习,我们了解到数据处理一般过程是数据采集、数据整理、数据分析、数据呈现四个过程。那么为什么数据采集到的数据要进行数据整理?让我们通过今天的学习找到答案。2、数据整理的目的教师:请同学们仔细观察这部分学生体质健康原始数据,观察下这份数据是否存在问题。教师:我们通过观察会发现这张表格中的数据存在重复、空缺、数据单位不正确的问题。其实这也是很多采集来的数据普遍存在的问题。教师:通常采集的原始数据都会或多或少存在缺失、错误、重复、非标准化的问题。这样的数据我们形象地称之为脏数据。我们如果想从数据中心提取出数据的价值,首先得确保数据是有效的数据。什么样的数据是有效的?具有完整性、统一性、准确性的数据。那么存在问题的数据我们就需要通过数据整理将至转变为清洁数据,也就是有效数据。这也是我们数据整理的目的。教师:怎样才可以将问题数据处理成清洁数据呢?我们要通过去重来删除重复数据、通过补漏来补全缺失数据,通过勘误来纠正数据中的错误和非标准化问题。数据整理的方法教师:我们了解了脏数据存在数据重复、缺失、错误和非标准化的问题,那么就可以对应采取去重、补漏、勘误的方法来清洗数据。这也数据整理的基本方法。数据整理教师:下面,我们通过课堂活动过来体验一下数据整理的过程。金山银山不如绿水青山、我们国家这些年一直致力于环境治理、生态修复,也落实了很多政策、关停了很多污染企业。随着环境的治理,你所在的城市空气质量是否也随着治理改善了呢?我们要做出判断,需要数据的支撑。这里,老师提供了一份全国三百多个城市地区的空气质量采集数据。这张表中的AQI就是空气质量指数。通过这个指数,我们可以直观判断空气质量。表中的数据是每小时采集一次的空气质量数据。3.1活动1:观察数据教师:下面,请大家暂停视频,下载资源包中的原始数据.csv文件。请观察表中的数据,这份采集数据是否存在问题?能否直接使用呢?请大家仔细观察。3.1.1观察数据(重复)教师:嗯,我猜想各位同学已经或多或少发现了一些问题。观察仔细的同学可能已经发现了,数据中存在一些重复的数据,比如23点的数据存在两次。3.1.2观察数据(筛选)教师:这份表格里,并且包含367个城市或地区6年的空气质量数据,并且是每小时采集一次的数据,所以有四五万条数据,数据量很大。我们只需要一个城市的数据,所以需要筛选出一个城市的数据,去掉冗余的数据。3.1.3观察(非标准化)教师:数据中第一列的日期格式不规范。不是常见的标准日期格式。我们需要做数据标准化。3.1.4观察数据(缺失)教师:眼尖的同学,可能还会发现这些数据中还存在空缺的情况,有的是连续数据中缺了一个两个,有的是大段日期的数据不存在。为什么?偶然性出现的缺失可能是采集设备存在故障或线路问题导致的。前期大量数据缺失是由于前期未公布该城市的数据。所以采集到的数据并不完整。教师:我们一起回顾下这份原始的数据存在哪些问题:1、数据中存在重复数据,需要去重。2、数据量太多,我们只需要自己所在的城市的数据,所以需要筛选3、第一列日期格式不对,需要标准化。4、存在缺失数据。需要补缺。下面我们一起通过数据整理来解决这四个问题。3.2pandas库介绍教师:在完成数据整理之前,我们来介绍一下使用的工具。今天,我们会用到一个叫做PANDAS的第三方库,这也是一个数据分析和整理过程常用到的库。这个库包含了很多现成的读写多种文件格式的方法;pandas能够高效操作大型的数据集。间接得说,它处理大量数据能力又快又好。另外,pandas库非常擅长处理的数据结构就是类似于表格这样行列组成的数据,也是我们数据处理最常见的数据结构。教师:pandas库包含两个常用的主要数据结构。series结构,这个是一串数据组成的集合,可以简单理解为一个队列,一个一维的字典。DataFrame结构,这是一个表格型的数据结构,也就是由行和列组成。教师:今天我们主要用到了DataFrame结构,我们主要介绍下这个结构。DataFrame结构由三部分组成,行索引号(类似于excel表格里的行号),列索引号(类似于excel表格里的列标题),另外还有列数据,也就是一列包含的数据集合。这里需要强调下,DataFrame的行索引号是从0开始,我们这张图是wps表格显示的,行索引号是从1开始,这一点不一样哦。下面我们就在数据整理过程中进一步了解DataFrame结构的具体用法。3.3活动2——空气质量数据去重教师:请大家打开资源包,下载课堂活动(去重).py文件,和原始数据.csv放在同一目录下。打开课堂活动.(去重).py文件教师:我们的目标是删除重复数据,那么这个功能用代码怎么实现呢?请大家打开刚才下载的程序文件。我们看到这里有三句代码,第一句,是导入pandas库,并起一个别名叫做pd第二句是定义了一个变量,也就是我们要处理的文件名称,这里就是同目录下的原始数据.csv。第三句是定义了一个变量savename,也就是处理后数据另存的文件名称。我们可以看到注释里请大家补全代码实现对数据的去重操作。补全什么代码呢?我们接着看。教师:其实利用pandas实现去重,只需要三句代码即可实现。下面就是三句代码。但是他们的顺序不对。我们一起来看看正确的顺序是什么。A句,这一句中的DATA变量就是一个DataFrame表,使用to_csv方法,将数据表的数据保存到指定的文件里,第一个参数savename是保存的文件名称,第二个参数index=False说明,保存时不要保存现有DateFrame表的索引。B句,这一句是调用pandas的读取csv的方法,也就是read_csv方法,第一个参数file指定的文件名称,参数encoding是指采用utf-8数据编码来读取,header=0表示读取时将第1行的数据当做列索引号。也就是作为表格的列标题。C句,这一句是使用DateFrame的drop_duplicates方法直接将表格中的重复数据删除,然后再保存到data变量里。这里的keep=first是指重复的数据中保留第一行,多余的重复数据删除。这三句的代码作用,相信大家已经理解了。那么这三句的正确排序是什么?我想,大家都有了自己的答案。正确的答案是BCA。你对了嘛?教师:去重的过程就是读取文件、删除重复数据、另存为新文件三个步骤。下面,请大家参考老师提供的代码,将课堂活动(去重).py文件缺失的代码补全,然后运行,看看去重后的效果吧!学生:尝试参考任务单,实现删除重复删除数据的函数。3.4活动3——空气质量数据筛选教师:我们的需求是从几百个城市的数据中找到自己所在城市的数据,所以我们需要筛选数据出来。例如,老师要筛选北京的数据。教师:DataFrame筛选数据有几种方式。如果筛选某列数据,可以直接df[列索引]筛选某列的数据,如图所示,如果想筛选北京这一列的数据,df['北京']筛选红色区域所示的数据。教师:如果想筛选多列,那么就用多列的索引号组成列表,然后作为参数来筛选即可。例如筛选date和北京这两列数据。df[['date','北京']]筛选两列数据。教师:DataFrame还有很多丰富的筛选数据的方法。感兴趣的同学可参考资料包中的阅读材料了解。教师:下面,我们一起体验下数据筛选的过程。请大家打开资源包,下载课堂活动(筛选).py文件,和STEP1_删除重复数据.csv放在同一目录下。现有的数据,我们需要筛选出自己所要城市的数据,比如我需要筛选出前三列date\hour\type和北京,一共四列的数据。教师:那么用python编程实现,是怎样实现筛选的呢?其实我们理顺思路,会发现,筛选的过程就是读取文件、筛选数据、将数据另存文件三个步骤。让我们打开课堂活动2(筛选).py,一起看看。这里定义了三个变量,file是处理的文件,save那么是处理后保存的文件,city是要筛选出的城市名称。但是筛选数据的代码需要大家补全。教师:补全的过程,依然是用3句代码来实现。第一句,读取文件,这句和之前相同,不多加解释。第二句,筛选数据,用到了刚才老师介绍的筛选多列的方法。我们用列索引号组成的列表作为参数,筛选出这四列的数据。注意,city变量在代码中已定义了,就是北京。需要修改为自己所在城市的同学,请在代码中自行修改。第三句,将筛选的数据保存为新文件。也不多加解释了。下面,请大家参考老师给出的三句代码,将活动2的代码补全,然后运行,看看筛选后的效果吧!学生:补全代码,体验筛选数据的过程。3.1.5活动4——空气质量数据标准化处理教师:下面,我们一起完成数据标准化的体验。请大家下载课堂活动(标准化).py这个文件。注意,要和STEP2_筛选后数据.csv放在同目录。因为我们需要调用上一步生成的结果文件哦。教师:数据中的第一列日期格式不符合日期标准,我们需要将其处理为年-月-日的形式。教师:那么怎样把一个字符串形式的日期转化为-间隔的标准格式呢?我们一起分析一下,其实20150521这个日期可以分割为年2015、月05、日21三部分,然后我们用-把他们拼接起来,那么就生成了2015-05-21这样的日期格式。本质上,这就是一个将字符串分隔、拼接的过程。假如20150521放在一个变量datestr中,这个字符串变量的前四位截取出来就是2015,中间2位截取出来就是05,最后两位截取出来就是21。最后,我们将至和“-”拼接起来。就实现了这个日期的标准化。教师:标准化的整体思路就是读取文件、将日期循环拼接处理好,将处理好的数据另存新文件。让我们一起来看看代码是怎样实现的吧!开始,读取文件。然后筛选出date这列的数据。然后,用到了我们熟悉的for循环。循环拼接需要处理的字符串,处理完将数据存入到指定单元格中。最后保存数据到一个文件。教师:下面,请暂停视频,下载的课堂活动(标准化).py文件,运行程序,观察新生成的数据文件。学生:运行程序,观察结果文件。3.1.6活动5——空气质量数据补缺教师:下面,我们开始第四步,对已经标准化的数据进行最后补缺的操作。请大家暂停视频,下载课堂活动(补缺).py文件,注意一定和上一步生成的文件STEP3_日期标准化后数据.csv放在同目录下。教师:转换时间的代码语句也已经封装为一个函数changeDate函数。请大家在调用changeDate函数的第三步,将#删除,然后运行。教师:这一步,我们的目标是补全缺失的数据。注意,对于未发布的数据,我们是无法补全的,如果需要补全,需要人工去找到缺失的数据。这不在我们的讨论范围内。今天,我们只对偶发性的数据进行自动补全。运用数学方法自动补全数据,有很多成熟的方法,比如线性插值法、均值插值法、临近值补缺等。这些方法涉及到高等数学、统计数学中的知识。请感兴趣的同学课后参考资料或者上网学习相关的知识。教师:请大家打开下载的课堂活动(补缺).py文件。这个文件中,我们依然使用pandas库来实现数据的自动补缺。这个文件中,老师定义了一个自定义函数supplyData实现了对某一列数据的补缺。大家在程序底部,可以看到下面四句代码,分别是定义了处理的文件名、保存的文件名、定义补缺的列、调用补缺函数。请大家根据自己所在的城市或地区,修改city变量,然后运行程序,体验下补缺的过程吧!学生:运行代码,体验数据补缺。3.1.7数据整理活动小结教师:这节课,我们体验了删除重复数据、筛选数据、标准化数据、补全缺失值的四种数据整理过程。其实,除了使用python编程工具来完成数据整理,我们还有表格软件、在线数据分析平台可以实现数据的整理。那么相比较,编程工具有哪些优势呢?表格软件操作简单,但是可处理的数据量较小,编程工具具有处理大数据的优势。几十万条甚至几百万条数据处理起来毫不费力。在线数据分析平台操作方便,有很多现成的整理方法,但是我们只能使用平台提供的方法。相比之下,编程工具可以按我们的意愿随心所欲的去整理和分析,具有更灵活的特点。课堂小结教师:我们一起回顾下本节课我们学习过的内容。本节课我们学习了数据整理,对数据进行整理的目的是什么?是因为采集到的数据是问题数据需要整理。什么是问题数据?就是存在重复数据、非标准化数据、错误数据、缺失数据的数据。那么怎样整理数据呢?我们了解了数据整理的方法,那就是去重(删除重复数据),勘误(纠正非标准化数据、错误数据),补漏(补全缺失数据)。5、课后作业教师:最后,请大家完成课后作业。上节课我们已经通过调查问卷形式采集到了身边同学们在课余时间安排的数据。那么这些数据是否存在问题?请将采集到的数据进行整理,去除无效、错误、重复的数据,将数据标准化处理。请大家参考本节课的代码以及学习资料中的示例,通过python编程完成课后作业。学生:参考学习资料,完成课后作业的数据处理。 展开更多...... 收起↑ 资源列表 数据整理(第二十三课时)-教学设计.doc 数据整理(第二十三课时)-课件.pptx 数据整理(第二十三课时)-课后练习.docx 数据整理(第二十三课时)-课堂任务单.docx