下面分享一个Python数据分析案例:用Python爬取腾讯课堂“前端开发”品类下的课程数据,然后做数据分析,并进行可视化。
整个数据分析过程,主要做了以下3件事情:
数据采集:利用requests实现Python爬虫数据清洗:正则表达式、数据类型转换。数据分析:分组统计、数据可视化。在腾讯课堂首页,选择“前端开发”品类,打开页面如下所示。1.数据采集:利用requests实现Python爬虫
利用Python爬虫爬取腾讯课堂“前端开发”品类下33页的课程数据。
以上代码执行完毕后,查看数据。
从上面看到,共采集到792条记录。
2.数据清洗:正则表达式、数据类型转换
针对上述采集到的数据,需要做以下事情:
购买人数:只关心其中的数字,需要把其中的非数字符号去除。
价格:只关心其中的数字,需要把免费替换为0,有价格的里面的人民币符号¥去除。
清洗思路:利用正则表达式替换。
有了思路后,下面通过for循环处理所有数据。
以上只是把无关的符号去除了,但是数据类型还有问题,通过type查看可以发现,购买人数及价格虽然是数字,但其实是字符串类型,所以还需要通过astype进行类型转换。
经过以上处理,可以看到购买人数、价格都被转换成了数值型。
3.数据分析:分组统计、可视化
首先通过describe函数对数据进行描述性统计分析。
说明:加上include参数可以让所有字段都显示,包括非数值型字段。
对该品类(前端开发,以下简称该品类)的描述性统计分析可以看出:
总共有10个教育机构提供了792门课程。报名人数最多的一门课程有6156人报名,最贵的一门课程价格为15698元。该品类下的课程的平均报名人数为1451人,平均价格为681元。
以下按照“机构”进行分组统计。
还可以通过matplotlib进行数据可视化。
以下展示的是报名人数前10的教育机构。
以下通过饼图展示每个机构的课程数。
还可以通过折线图展示每个机构的报名人数。
回答完毕!