《利用Python 进行数据分析 第二版》 -第14章 数据分析示例(实战)

前面的章节已经讲解了数据分析的基本操作,

接下来就通过具体的简单分析例子来说明前面基本知识的应用

本章原作者示例数据采用的都是美国相关数据(因为作者是外国人),

我会从国内的角度,选取中国可以看到的或者找到的公开数据进行分析

数据分析的主要步骤:

1、从网上获取公开数据(此处是PDF)

2、读取PDF中表格数据

3、多页数据连接

4、数据清洗和整理

5、数据聚合和分组

6、数据绘图与可视化

7、保存绘图

 

接下来进行详细的说明

1、从网上获取公开数据(此处是PDF)

此处选择的数据是“上海交通大学研究生院2018年考试及录取”统计数据,

数据地址:https://yzb.sjtu.edu.cn/xxgs1/lssj/wnbklqtj.htm

 数据下载后命名为“2018.pdf”,方便后续数据读取,pdf部分内容截图如下:

 2、读取PDF格式表格数据

之前章节,我们有学习读取CSV、excel等格式的数据,但是没有学习pdf,遇到问题,不放弃,寻找方法

从百度查询,可以了解到,通过pdfplumber这个包可以处理pdf数据,我们来安装这个包:

点击如下程序:

 会出现命令符式的黑框,通过pip命令来安装pdfplumber包,如下:

  等待,直到安装完成,如果出现红字,提示没有安装成功,有“time out”英文字眼的话,大概率是国外软件包地址下载不稳定,那就通过国内镜像源下载

国内镜像源有很多:

 此处我们采用第一个,清华的镜像源为例:

 一般这样就好安装成功,安装后,进入jupyter软件,可以导入测试一下,是否安装成功

 如果没有提示,那就代表安装成功,可以读取pdf数据了

我们首先读取pdf第一页的表格数据,具体代码及读取结果如下:

 我们读取第二页pdf数据表格内容,具体代码及结果如下:

 其他页码的数据同样的读取逻辑,在此不再赘述,接下来采用已读取的这两页内容进行分析

3、多页数据连接

至此,我们已经有两页的数据,现在将两页的数据合并在一起,进行拼接,具体代码及运行结果如下:

4、数据清洗和整理

数据的清洗和整理,要看我们数据分析的目的

此处我们的目的:分析“电子信息与电气工程学院”各专业推免、报名、录取的情况

电子信息与电器工程学院的系所码是“030”,我们查看发现,该系所码没有,仔细核对发现,是读取数据的时候没有识别出来,如下:

 我们修正系所码和系所名称,具体代码及结果如下:

 

 我们为什么只修正一处,因为后面我们想对没有数据的地方,从上到下自动填充

现在对整个数据集中空白的地方,就近从上到下自动填充,代码及运行结果如下:

 至此,从格式上看,我们发现比最初导入的数据更规整,更符合数据处理的要求了

因为数据处理涉及到不同的数据类型,所以,我们需要查看每列数据的类型,如下:

 我们发现每列都是对象的类型,但是在处理数据的过程中,我们用到的都是整数或者浮点数,所以需要对不同的列进行数据转换

数据转换主要用到astype方法,具体代码如下:

 再来看下各列数据类型:

 选择我们需要的数据,与“电子信息与电气工程学院”相关,通过系所码进行筛选,如下:

 和pdf数据比对,符合我们需要的数据

5、数据聚合和分组

接下来,我们想通过不同的专业,来看各自的数据,具体代码及运行结果如下:

此处提醒一点,就是如果存的专业名称一样数据不同的,会聚合在一起,保留唯一的专业名称

  6、数据绘图与可视化

针对分组整理后的数据,我们进行绘图,这个数据适合柱状图,具体代码及运行结果如下:

 针对上面的结果,我们发现几个问题:乱码、图表太小

针对这两个问题,我们修改代码进行调整,调整后代码及运行结果如下:

 从图标看起来,基本符合我们的要求

7、保存绘图

 针对上面绘制的图标进行保存,具体代码如下:

 运行该代码后,会在同样的文件下看到多出来一个这样的文件:

 找到文件夹的位置,打开该图片查看,如下:

看起来还是相对清晰的,得到了图片,就可以用在其他地方了,例如PPT资料等

 以上,就是针对一个数据从获取-读取-整理-分析-绘图-保存的整个主要流程,其他还有很多细节,但是都离不开这个主要的流程进行

掌握了主要流程,其他的细节就是锦上添花,可以再不断地精进了

 

以上就是本章重点内容示例的说明,祝学习愉快

 

以下链接,可以供你了解这个系列学习笔记的所有章节最新进度

自学笔记系列:《利用Python 进行数据分析 第二版》 -写在开始之前

posted @ 2020-09-25 00:22  诡刺-ThornSoul  阅读(495)  评论(0编辑  收藏  举报