Python数据分析实战-编程语言排名数据抓取及整理绘图
本章数据分析的主要步骤:
1、从网上获取公开数据:html 网页
2、读取html中表格数据
3、数据清洗和整理
4、数据绘图与可视化
5、保存绘图
接下来进行详细的说明
1、从网上获取公开数据:html 网页
在学习编程开始的时候,我都有一个好奇,就是编程语言都有哪些?怎么看哪些编程语言是好的,或者说是比较受欢迎的?
于是逐渐了解到TIOBE,这个是什么呢?以下是百度中的部分解释,可供参考
“TIOBE开发语言排行榜 每月更新一次,依据的指数是基于世界范围内的资深软件工程师和第三方供应商提供,其结果作为当前业内程序开发语言的流行使用程度的有效指标
该指数可以用来检阅开发者的编程技能能否跟上趋势,或是否有必要作出战略改变,以及什么编程语言是应该及时掌握的。观察认为,该指数反应的虽并非当前最流行或应用最广的语言,但对世界范围内开发语言的走势仍具有重要参考意义"。
通过解释,我们大概能知道它是什么了,本章就是以此数据为基础,进行简单的数据分析
网页截图(部分):
2、读取html中表格数据
我们通过pandas可以直接读取html中表格的数据,如下:
我们发现读取的数据是一个列表,所以我们要从列表中抓取我们想要的数据,
首先分别看下,列表里面有哪些数据,
第一个数据:
第二个数据:
第三个数据:
第四个数据:
一共有以上4个数据,通过原始的网页也能大概看的出来,因为网页中主要的就是展示了这四种数据
既然有了数据,接下来就是进行数据的整理
3、数据清洗和整理
在数据整理前,我们要明确,我们本次数据分析的目的,因为明确了目的,你才能知道你要整理哪些数据
因为是基本数据分析,所以本次我们的目的是,整理排名前50的编程语言,及其占比,依次来绘制图表
我们发现,以上数据中,数据1和数据2,是我们想要的内容,但是两者的标题不一样,所以就需要合并两个数据表
同时保留我们需要用到的数据
我们选择三个纬度的数据:'Position','Programming Language','Ratings'
我们首先选取”dfs[0]"中的相关数据,代码如下:
我们需要把df1中的列名称,调整为我们需要的内容,主要差异就是把“sep 2020”更新为“Position”,具体代码如下
因为“dfs[1]”中的数据,已经是我们需要的纬度了,所以不用选取,直接使用
因为这两个数据都是list类型,所以要转换成DataFrame类型,如下:
转换数据类型后,我们合并两个数据,代码如下:
合并后的数据,就是我们需要的,最新10月排名前50的编程语言及其占比
4、数据绘图与可视化
我们先试一下绘图,因为很多现有数据,会因为格式的问题,没法绘制图表
代码如下:我们绘制的时候,指定我们希望用的x轴和y轴
系统会提示错误,重点看最后一行:
这里的意思就是没有数据可以用来作图,我们查看原始数据会发现,“Ratings”这列的数据是百分数,但是查看数据类型可以发现,是字符型数据:
这个时候我们想到用数据类型转换的函数来处理,代码如下:
又提示错误,看最后一行重点:
按照提示说明,数据没法转换成float类型,我在第一次遇到这个问题的时候,很是疑惑
以为是用错来函数,所以尝试来很多转换数据类型的方法,但是都没有成功
最后我突然想到,数据类型没法转换,是不是和“%”有关,如果去除%,是不是可以转换数据,从这个思路出发,成功了
看下数据处理的具体代码:
去除%号后,我们再进行数据类型转换,代码如下:
查看数据类型,我们发现Ratings一列已经是float类型数据,表示转换成功,接下来,我们绘制图标
图标看上去是我们想要的类型了,我们再调整一下,这是线性的曲线,我们换成柱状形状:
图表这样看上去太拥挤,我们通过figsize参数,调整图表的大小,如下:
这个图,看上去更舒服一些了,柱子的颜色,我们调整一下,代码如下:
5、保存绘图
接下来针对我们绘图完成的结果进行保存,代码如下:
在代码的同样的文件夹下面,会出现这样一个文件:
我们点击打开看下:我标注出来了“Python”语言的位置,以下图片就是我们绘图的结果,可以保存好继续使用
或者保留代码,每个月运行依次,就能知道最新编程语言的排名了
以上就是本章重点内容示例的说明,祝学习愉快
以下链接,可以供你了解Python数据分析的基础知识内容