本项目数据来源于kaggle上的TMDB 5000 Movie Dataset数据集,共计4803条电影数据。本项目主要目的是通过对历史电影数据的分析研究,为电影的制作提供数据支持。
一. 提出问题
从电影市场趋势,受众喜好,电影票房等三个方面主要研究以下几个问题:
(一)各类型电影数量分布及随时间变化趋势如何?
(二)不同类型电影的盈利能力如何?
(三)原创电影与改编电影有何差异?
(四)电影大多产自什么地方?
(五)电影关键字分析
(六)受众喜好与那些因素有关?
(七)Universal Pictures与Paramount Pictures两家行业巨头的业绩如何?
(八)电影票房与哪些因素最相关?
二. 理解数据
从Kaggle平台上下载2个原始数据集:tmdb_5000_movies.csv和tmdb_5000_credits.csv,导入相关包及读取数据:
查看数据:
movies存放电影的基本信息,credits存放电影的演职员名单。
相关字段含义介绍:
·movie_id : TMDB电影标识号
·title : 电影名称
·cast :演员列表
·director :导演
·budget :预算(美元)
·genres :电影类型
·homepage :电影首页的 URL
·id :标识号
·original_language :电影语言
·original_title :电影名称
·overview :剧情摘要
·popularity :在 Movie Database 上的相对页面查看次数
·production_companies :制作公司
·production_countries :制作国家
·release_date :上映时间
·revenue :票房收入
·runtime :电影时长
·spoken_languages :口语
·status :状态
·tagline :电影的标语
·vote_average :平均评分
·vote_count :评分次数
本文主要分析数据:预算(budget),电影类型(genre),制作公司(production_companies) 制作国家(production_countries ),上映时间(release_date),票房收入(revenue ),电影时长(runtime),平均评分(vote_average),评分次数(vote_count)
三. 数据清洗
(一)基本数据处理
数据清洗主要包括:选取子集,缺失数据处理、数据格式转换、异常值数据处理等。
先将credits数据集和moviedf数据集中的数据合并在一起,并选取子集:
查看数据信息,是否有缺失数据/数据类型是否正确:
release_date列有1条缺失数据,将其查找出来并填充:
runtime列有2条缺失数据,将其查找出来并填充:
对于release_date列,需将其转换为日期类型并提取出年份,并查看处理结果:
数据的基本处理到此基本完成。
(二)特殊格式数据处理
本项目要进行研究的数据中的genres,keywords,production_companies,production_countries列均为json格式,不便对其进行分析。需先导入json(开始已操作),再通过json.loads先将json字符串转换为字典列表形式,再使用循环,选取需要的数据,本次分析取出name键所对应的值,并用“|”分隔。
特殊格式数据处理到此基本完成,这些值多为分类数据,后续可将其编码为虚拟变量再进行分析。
四. 数据分析及可视化
在进行数据分析及可视化时,依据每个问题选取所需变量并新建数据框再进行分析和可视化展示,这样数据不易乱且条理更清晰。
(一)各电影类型数量分布及随时间变化趋势如何?
①随时间推移如何发生变化的?
先找到所有电影类型,并存放到genre_set集合中:
构造电影类型和年份的数据框:
绘图:
由图可见,约从1992开始,电影市场开始爆发式增长,其中戏剧类(Drama)和战争类(War)这两个类型是随时间增长幅度最大的,现在也比较热门。
②电影类型数量分布
各电影类型数量和:
各电影类型数量分布图:
由图可知,数量前5的电影类型为:戏剧类(Drama)、喜剧类(Comedy)、惊悚类(Thriller)、动作类(Action)、冒险类(Adventure)
(二)不同类型电影的盈利能力如何?
建立电影类型-利润数据框,计算各电影类型平均收益:
各电影类型平均收益分布图:
由图可知,平均收益前3的电影类型为:动画类(Animation)、冒险类(Adventure)、科幻类(Fantasy),而外国电影类(Foreign)和电视电影类(TV Movie)有亏损的风险。
(三)原创电影与改编电影有何差异?
①电影数量对比
建立original-recompose数据框,放入budget,profit,count(数量)等字段,并计算利润率profit_rate=(profit-budget)/budget*100%
数量对比:
显而易见,原创电影的数量比改编电影要多得多。
②利润及利润率对比
依据利润和利润率数据来看,改编电影无论是利润还是利润率都远高于原创电影,看来改编电影吸引了更多受众观看,带来了更高利润。大概是改编电影的原著剧本早在电影上映前就已经经过了市场的检验,对准了受众的喜好,在此基础上改编的电影也吸引了不少原著粉丝。因此电影制作公司若遇上市场反响不错的小说漫画等,将其改编为电影,成功的概率更高。
(四)电影大多产自什么地方?
与建立genre_set一样,建立country_set,计算各电影的产地并求和,形成country_df数据框:
绘制饼图:
由图可见,美国电影数量一骑绝尘,占比达到了61.4%,名副其实的产出大国(应该也与该网站收录的数据有关)。其次是英国,德国,法国,加拿大。
(五)电影关键字
先提取电影关键字keyword_list:
通过WordCloud包生成词云图:
由上图可知,出现频次较高的词有女性(woman)、独立(independent),其次是谋杀(murder)、爱情(love)、暴力(violence)、家庭(family)等,可见女性和独立题材类电影最受到青睐,其次是犯罪,爱情和家庭类电影。
(六)受众喜好与那些因素有关?
①电影类型与受众欢迎度
建立电影类型和受欢迎度的数据框,并计算各类型电影受欢迎度均值:
绘图:
由图可见,最受观众欢迎的电影类型是冒险类(Adventure)和动画类(Animation),其次为科幻类。
②电影时长与受众欢迎度
受众欢迎度较高的电影的时长基本在90-150分钟之间。
③电影评分与受众欢迎度
电影评分与受欢迎度之间的相关性不太明显,评分高的电影,受众欢迎度却不一定高,比如冷门好片的存在?但受众欢迎度高的,电影评分基本也不低,群众的眼睛是雪亮的,制作公司产出好片,获得受众喜爱的概率也更高。经过更多受众的检验,该电影为好片的可靠性也更高。
(七)Universal Pictures与Paramount Pictures两家巨头公司的业绩如何?
①利润对比
建立两家公司,电影类型和盈利的数据框
计算两家公司盈利总和:
绘图:
由图可见,两家公司利润总额并无明显差异,Universal Pictures公司略高于Paramount Pictures公司。
②两公司制作电影类型对比
由图可见,两家公司制作的主要电影类型几乎一致,戏剧类(Drama)、喜剧类(Comedy)、惊悚类(Thriller)、动作类(Action)占据了两家公司制作总量的60%左右,这与总的各类型电影数量分布也是相似的,可供其他公司参考其布局策略。
(八)电影票房与哪些因素最相关?
由以上可知,电影票房与电影预算(0.73),受欢迎度(0.64),评价次数(0.78)存在强相关。绘制电影票房与受欢迎度,评价次数,电影预算的相关性散点图及其线性回归线。
除去一些极值,可以看出电影票房和预算是正相关性的,预算越高票房也越高,电影制作公司可适当增加电影预算,一方面投入电影本身,制作出更优秀受众更喜爱的电影,另一方面也可加大宣传力度,提高电影知名度和受欢迎度,避免“冷门好片”的出现,让好电影发挥出应有的价值。
综上:
(1)电影市场发展迅速,现在仍有不错的发展空间
(2)冒险,动画,科幻类电影无论是平均收益还是受众喜爱度都比较高
(3)若有较好的小说漫画等,可尝试进行改编
(4)时长在90-150分钟,女性独立类题材电影更能受到观众青睐
(5)可适当提高电影预算,用于获得更高的电影质量和更好的宣传力度