Kaggle TMDB电影数据分析项目实战
注:该项目为博主第一次数据分析项目,代码部分参考了:这篇文章。
希望大家支持一下原作者。从下一篇开始将全部为原创项目。请大家多多支持。
数据集
在分析之前,首先要将拿到的数据处理成可以分析的格式。本项目使用kaggle的开源数据集:TMDB 5000 Movie Dataset 它是kaggle官方从IMDB的数据中截取出来供研究者们发掘究竟是什么元素决定着电影业的盈利与亏损的。
数据集总共由两个文件组成:tmdb_5000_credits.csv和tmdb_5000_movies.csv。
分析结果
第一个文件包含了电影的名称、演员阵容以及拍摄队伍。后者则是其他的内容。通过Python分析过后,我们得到了:不同电影类型的数量随时间变化的曲线图以及1916-2017年间不同类型电影数量的统计图:
从两个图可知自电影产业兴起以来Drama(剧情片)一直是被制作最多的电影类型,紧随其上的还有Comedy(喜剧片)、Thriller(惊悚片)以及Action(动作片)。
之后还可以分析每种类型电影的收益,因为虽然剧情片的数量要占据第一,但是一般他们都不是最盈利的片种:
由图可知我们的常识是正确的,剧情片虽然数量可观,但观众们更愿意为冒险、动作这类的电影买账。
接下来我们可以分析究竟是什么因素影响着电影的收益呢,毕竟这个问题的答案也是数据集被创造的原因。我们可以利用pandas提供的corr方法输出数据集的相关系数矩阵,并查看与利润最相关的几个特征:
revenue | 1.000000 |
---|---|
vote_count | 0.781487 |
budget | 0.730823 |
popularity | 0.644724 |
runtime | 0.251201 |
vote_average | 0.197150 |
release_year | 0.090074 |
id | -0.050425 |
可知预算是和盈利最相关的特征了。那么我们可以通过绘制散点图来直观的看到预算和盈利的线性相关性:
接下来我们还可以分析这几年的原创电影与改编电影的数量变化:
那么电影的盈利也有可能和发行它的国家有关系。我们都知道全球最庞大的电影产业就是美国的好莱坞了。那么各个国家发行的电影数量在这么多年里的占比是什么样的呢:
除了国家外,可能和企业也有关系:
那么光把数据输出成python还不够美观,而且也没法利用,所以我们利用pandas提供的方法,将其导入到excel中,再通过ppt调用excel的数据:
首先将数据置入excel(运行以下代码可能需要xlrd、xlwt或openpyxl。请读者自行尝试。)
excel = os.path.join(folder,'TMDB.xlsx')
writer = pd.ExcelWriter(excel)
sheetlist = [year_cnt
,genre_total
,revenue
,pd.DataFrame(full_image.loc[:, ('budget','revenue')])
,pd.DataFrame(novel_per_year)
,pd.DataFrame(novel_rate,index=(range(len(novel_rate))))
,countries_top6
,companies_top10]
for i in range(len(sheetlist)):
sheetlist[i].to_excel(writer, sheet_name='sheet'+str(i+1))
writer.save()
置入后,就可以通过excel画图表了。最后在PPT上的成效如下所示: