【有书共读】跟老齐学Python 读书笔记13
1.获取数据
这里我们使用来自Tushare模块的电影数据,所以需要通过pip命令安装模块Tushare,因其是基于lxml的,所以需要先安装模块lxml。
Tushare是一个专门又来爬取历史和实时财经数据接口包,为我们提供了诸如电影票房、龙虎榜数据和新闻事件数据等等众多数据的接口,因此是我们进行数据分析的一大学习利器,想分析该接口其他数据可以查看文档http://tushare.org/ ,这里我们只是用电影票房数据。
2.观察数据
运行jupyter-notebook,导入tushare模块,可以打印其"version"属性,查看版本(版本不一样应该不会对后续实验有太大影响,因为我们只需要数据)。
电影票房的数据可以包括实时票房数据、每日票房数据、月度票房数据、影院日度票房4类数据,分别对应函数“realtime_boxoffice()”、"day_boxoffice()"、“month_boxoffice()”和"day_cinema()"。这里以月度票房数据接口函数为例(其他函数类似操作,具体可以查看上述文档链接,下同),其参数及返回值字段内容如下图所示:
以获取2018年9***度票房数据为例,结果如下图所示:
为了更清楚看到票房分布,我们使用之前学过的饼状图对其进行展示,代码如下图所示:
运行结果如下图所示:
从上图可以看到《碟中谍6》人气是相当高的,个人看了感觉又长新姿势了,每部都有一些黑科技,不愧是美国大片!视觉效果挺震撼的。然而我章若楠小姐姐演的《悲伤逆流成河》人气却显得不高也不低,QAQ蓝瘦~
接下来我们再将2010年到2018年9月档的票房收入做一个梳理,看看能不能发现什么,代码如下图所示:
运行结果如下图所示:
恩……数据太多了,好像表现的不够明显,我们试着再做一点操作,将每年9月的票房加起来,但这里要注意下,上图显示的票房数据都是字符串,所以我们使用numpy的sum函数时需要将这些字符数据转换成数字数据,代码及结果如下图所示:
从上图来说,我们已经能够看到这些年9月份大致的票房变化了,但是如果数据一多的话,或许效果就没有这么明显了,所以我们尝试用折线图来表达这样的年度变化,代码及结果如下图所示:
上图x轴和y轴的范围是我根据数据的最大值和最小值来确定的,以让大家更好的观察实验结果,在数据一多的情况下,可以通过pandas求出其最大值和最小值作为实际参数。
从上面的折线图我们可以看到某些年份如2015年发生了较大的波动,有些年份的票房甚至还减少了,这些都是可以称为“反常数据”,而一个数据分析师的任务就应该是分析造成这样结果的原因(当然,我还是一只咸鱼)。
这里我们来看看,每年的票房第一占总比的情况,这里我们使用条形统计图,代码及结果如下图所示:
从上图我们可以发现,2015年票房第一占比相当大(相比其他年份的票房第一),所以这就对总体票房产生了一定的影响,业内把这样的现象叫做“票房助推器”。
最后,鉴于咸鱼能力有限,这里通过电影票房的数据将之前的饼状图、折线图、条形图等知识回顾了下,更有趣的分析还是得交给大佬们~