这一段时间都在学习数据分析的相关知识,包括numpy、pandas、matplotlib、seaborn、ploty这些工具的使用和一些统计学的相关知识。有了这些基础,我就非常迫不及待的想操练操练。于是,我就打算使用豆瓣电影Top250进行数据分析。纪念一下2月29日,下一个29日得等到四年后了。
首先,我们百度搜索豆瓣电影250,排名第一的就是我们想要的,点击进去。下面分别是首页和详细页
由于我们需要爬去所有有价值的数据,所以,我们要进入每一个详情页进行数据提取,下面是我打算获取的数据:
导演、编剧、主演、类型、制作地区、语言、上映时间、片长、评分、评价人数、观看人数、想看人数、短评条数
具体如何找数据的位置,如何爬取数据详细的步骤大家可以看我之前爬起虎扑贴吧的博客
这里我的思路是:
这里有几点需要注意的地方:
从上面两种图可以看到,出版时间和片长时间格式有点问题。所以,出版时间我只提取了年份,片长时间只保留数字。
当然,在我做完数据分析的时候,其实出版时间可以保留月份,用来分析哪些月份出版的电影最多等等,大家实战的时候可以试一下。
从结果中我们发现,出版电影最多的前四名分别是
美国占比遥遥领先这个我们都不意外,毕竟像这些 《肖申克的救赎》、《阿甘正转》、《泰坦尼克号》都是我们非常喜欢也非常熟悉的经典电影。
日本排名第二得益于日本动漫的优势。在这个top250中,有许多日本动漫电影。我不是一个动漫迷,但是我周围有一些朋友是,平常偶尔也会看一下,也能够看得出来,日本动漫做的确实很好。
结果中,我们发现,电影类型最多的前四位是剧情、爱情、喜剧、犯罪。电影类型最少的前四位是:情色、灾难、恐怖、运动。
与前面的出版国家情况类似,每一部电影都有许多类型。
博主也趁着疫情在家这一段时间,刷了几部这里面的电影。给我最大的感触就是我能够与情节产生共鸣。无论是《海上钢琴师》男主1900 碰见心动女生时的不知所措、开心、懊悔,还是《肖申克的救赎》安迪逃出监狱时的激动、咆哮;我们就像是电影里的角色,情感上就感觉特别的真实。
这个结果我们也不会有太大意外。
从图1来看,出版电影最多的年份是2004年,其次是2010、2013、2015.
从图2的近31年出版电影数量分析结果来看,呈现一个山峰形状。也就是每隔一年,都会涌现出比较多的好电影。从2000之后,电影的数量相较于之前有了比较大的提升,也得益于电影行业在近二十年的快速发展,从业人数越来越多,每年上映的电影基数越来越多,好电影也会相应的越来越多。
从图3的饼状图分析结果来看,2000-2010年出版的电影所占的比例最大,其次是2010-2020年、1990-2000年。这里每隔十年进行分析,由于2020年刚开始,又受疫情影响,还没有很多电影上映,可能会造成近十年电影数量小于前一个十年。
从饼状图我们可以看到,电影时长集中在90分钟-140分钟的电影占6成,其次是集中在140分钟-180分钟的电影,占16.4%。这也符合我们平常的认知,大部分电影时长都是在一个半小时到两个小时左右。
从散点图我们可以看到,超过200分钟的电影共有4部,其中时长最长的是238分钟;最少时长的电影只有45分钟。从整体趋势来看,近些年的电影时长越来越集中在100分钟-150分钟这个区间内,这可能也是电影行业的共识吧,时间太短事情讲不清楚,时间太长有显得剧情太拖拉。(哈哈,自己猜测的)
另外,我对出版时间和电影时长进行皮尔斯相关系数分析,结果显示出版时间与电影时长呈负相关线性关系(也就是随着出版时间的增加,电影时长慢慢变短),但是影响程度比较弱。
电影评分相关数据分析表:
类型 | 数据 |
---|---|
均值 | 8.879200 |
方差 | 0.267307 |
最小值 | 8.300000 |
25% | 8.700000 |
50% | 8.800000 |
75% | 9.100000 |
最大值 | 9.700000 |
绝对多数电影评分集中在8.7-9.1中间,占比50%,最高评分为9.7,最低评分为8.3.
9.1评分以上的电影数量占比20%,8.7评分以下的电影占比25%.
上面3个图是用来分析评分与上映时间、电影时长的关系。从图中我们可以看到,1980年以下的电影,大多数评分都超过9.0,这也说明经典就是经典,只会随着时间流逝,更显得弥足珍贵。
由于上述图无法判断出好评与电影时长和评分的关系,接下来我们使用斯皮尔曼相关系数进行分析,评分与电影时长的pvalue为0.1667、评分与出版时间的pvalue为-0.1874,表明,评分与电影时长呈正相关,相关性不强,评分与出版时间呈负相关,相关性不强。这也证明了我们前面分析的,老电影通常评分都比较高。
将观看人数与想看人数以及评论人数进行对比分析,从上图可以看到,这三个数据的趋势基本一直。也就是这三者存在正相关线性关系,而且程度非常强。
接下来统计评论率(评论人数/观看人数)
类型 | 数据 |
---|---|
均值 | 0.130242 |
方差 | 0.045363 |
最小值 | 0.043521 |
25% | 0.096739 |
50% | 0.129904 |
75% | 0.159457 |
最大值 | 0.291848 |
从结果上来看,评论率最小的不到百分之5,也就是有100个人看过这个电影,只有五个人写了评论。平均值也就13%。评论率超过15.9%的只占25%。所以说,大家平常在豆瓣点击看过,评完分后,记得去写评论,为你喜欢的电影写下你额感受,让更多的人看到,这样也会感染更多的人。
这里我只是进行了比较简单的分析,大家可以在次基础上进行更进一步的分析。数据和代码我都上传到了github上,大家有需要的可以自行下载。
代码以及数据地址
大家可以参考下面的例子学习相关知识点:
我目前正在学习python数据分析,如果大家有什么问题,可以直接留言。也欢迎对数据分析感兴趣或者想以后成为python数据分析师的同学留言交流。
此项目源代码的Github地址