kaggle电影数据分析报告
一、项目背景与介绍
数据来源:kaggle数据科学社区上TMDB 5000 Movie Dataset数据集:TMDB 5000 Movie Dataset
数据介绍:TMDB是一个电影资料库,本项目数据主要为欧美地区2017年之前的5000部电影
分析目的:对电影数据进行分析研究,了解电影市场趋势,为电影制作提供决策。
二、定义问题
1、各类型电影数量会随时间如何变化吗?是如何变化的?
2、不同类型的电影的盈利情况有何差异?
3、原创电影与改编电影的有何差异?
4、电影主要产自哪些地区?
5、观众喜好与哪些因素有关?
6、Universal Pictures与Paramount Pictures两家巨头公司的业绩如何?
三、理解数据
导入相关安装包,读取数据
查看数据信息
观察数据,发现 genres、keywords、production_companies、production_countries、spoken_languages、cast、crew列为JSON编码的字符串。
删去credits的列title,因为该列和movies的列重复了,再把两个数据集合并,删去不在研究范围内的值。
credits中movie_id列 和 movies中id列是对应关系,故以此为连接合并两个数据集。
各字段含义:
● id:标识号
● movie_id:标识号
● popularity:在 Movie Database 上的相对页面查看次数
● budget:预算(美元)
● revenue:收入(美元)
● original_language:原始语言
● spoken_languages:输出语言
● original_title:原始电影名称
● cast:演员列表,按 | 分隔,最多 5 名演员
● crew:剧组
● title:电影名称
● status:电影状态
● homepage:电影首页的 URL
● tagline:电影的标语
● keywords:与电影相关的关键字,按 | 分隔,最多 5 个关键字
● overview:剧情摘要
● runtime:电影时长
● genres:风格列表,按 | 分隔,最多 5 种风格
● 制作公司列表:production_companies按 | 分隔,最多 5 家公司
● production_countries:制作国家
● release_date:首次上映日期
● vote_count:评分次数
● vote_average:平均评分
三、数据清洗
1、选择子集
通过 info()和describe ()方法查看要研究的数据是否存在异常情况
可以看到release_date、runtime存在缺失值。
可以看到budget,revenue,vote_average,vote_count最小值为0,这些列中可能存在异常值。
2、缺失值处理
查找资料,填充缺失值
查看runtime的缺失值
查找资料,填充缺失值
3、异常值处理
budget,revenue,vote_average,vote_count最小值为0,可能存在异常,用平均值填充。
4、数据格式转换
查看release_date列的数据
需要转换为日期类型并提取年份
5、特殊格式数据处理
本项目要进行研究的数据中的genres,keywords,production_companies,production_countries列均为json格式,不便对其进行分析。需通过json.loads先将json字符串转换为字典列表形式,再使用循环,选取需要的数据,本次分析取出name键所对应的值,并用“|”分隔。
四、数据分析及可视化
1、各类型电影数量变化和分布
(1)各类型电影逐年的数量变化
genre_set集合存放所有电影类型
genre_year_df存放各个年份的不同电影类型的电影总数
绘图:
由图可见,约从1992开始,电影市场开始爆发式增长,其中戏剧类(Drama)和喜剧类(Comedy)这两个类型是随时间增长幅度最大,其次是惊悚片(Thriller)和动作片(Action)。
(2)各类型电影数量分布
各类型电影总数
各类型电影数量分布图:
从图中可看出,排名前5的类型为Drama、Comedy、Thriller、Action和Romance。其中即使是排名前5的类型中,每一类型之间的差距也不算小。Drama类稳稳的在榜首。
2、各类型电影的盈利情况
profit_df存放电影类型和利润数据
profit_by_genre存放计算后的各类型电影的利润平均值,利润=收入-支出成本
各电影类型平均收益分布图:
3、原创电影与改编电影的差异
keywords中的包含"based on novel"的是改编电影,其余是原创电影。
创建一个DataFrame存放原创电影与改编电影original_recompose,包含type、 profit 、 budget 等字段,计算出利润率 profit_rate=profit/budget 。
(1)电影数量对比
原创电影占据了几乎所有的市场,只有少部分为改编电影
(2)利润及利润率对比
改编电影的支出要高于原创电影,且对应的收入和利润也要高于原创电影
4、电影产地分布
统计出各个地区的电影数量,country_df存储电影产地的数据
绘制饼图:
由图可见,美国电影数量一骑绝尘,占比达到了61.4%,名副其实的产出大国(应该也与该网站收录的数据有关)。其次是英国,德国,法国,加拿大。
5、观众喜好与哪些因素有关
(1)电影类型与受欢迎度的关系
popularity字段是在 Movie Database 上的相对页面查看次数,根据这个数据来判断电影的受欢迎度。
绘图
可见,最受观众欢迎的电影类型的前五名是
Adventure、Animation、Science Fiction、Fantasy 、Action
(2)电影时长与受欢迎度的关系
受欢迎度较高的电影的时长基本在90-150分钟之间。 电影时长太长或太短的电影受欢迎程度较低。
(3)电影评分与受欢迎度的关系
评分高的电影不一定受欢迎度高,可能存在冷门好片。 但受众欢迎度高的,电影评分基本也不低,群众的眼睛是雪亮的,制作公司产出好片,获得受众喜爱的概率也更高。经过更多受众的检验,该电影为好片的可靠性也更高。
6、Universal Pictures与Paramount Pictures两家巨头公司的业绩如何?
company_df存放两家公司、电影类型、盈利的数据
(1)利润对比
绘图
由图可见,两家公司利润总额并无明显差异,Universal Pictures公司略高于Paramount Pictures公司。
(2)出品的电影类型对比
company_df存放两家公司、各类型电影,数值为1的代表属于该类型。
绘图Universal Pictures:
绘图Paramount Pictures:
7、电影关键词
keywords_list存放从keywords中提取出的关键词,去掉一些没有实际含义的字符串和短语
通过WordCloud包生成词云图
kaggle电影数据分析报告相关推荐
- 2021春节档7部电影数据分析报告
2021春节档7部电影数据分析报告
- 豆瓣Top250电影数据分析报告
我的其他数据分析报告:求职指南--数据分析职位解析 [Python3]Requests+正则表达式+multiprocessing爬虫并存入MySQL数据库 一.分析背景及目的 豆瓣对Top250电影 ...
- python电影数据分析报告_Python数据分析实战:TMDB电影数据可视化
一.数据预处理 本文将以项目实战的形式,对 TMDB电影数据进行数据分析与可视化实战,所使用的数据来源于 Kaggle,文末提供数据的下载方式. import json import pandas a ...
- python电影数据分析报告_【python数据分析实战】电影票房数据分析(二)数据可视化...
在上一部分<[python数据分析实战]电影票房数据分析(一)数据采集> 已经获取到了2011年至今的票房数据,并保存在了mysql中. 本文将在实操中讲解如何将mysql中的数据抽取出来 ...
- python电影数据分析的代码_python-small-examples
Kaggle电影数据分析实战 本项目基于Kaggle电影影评数据集,通过这个系列,你将学到如何进行数据探索性分析(EDA),学会使用数据分析利器pandas,会用绘图包pyecharts,以及EDA时 ...
- ActiveReports 大数据分析报告:2018中国电影再次迎来黄金时代
回顾2018,中国电影市场收获颇丰.先是凭借春节档<红海行动>.<唐人街探案>双双实现30亿票房突破,而后暑期档火力全开,<我不是药神>.<西虹市首富> ...
- 电影数据分析练习——ppt报告
电影数据分析练习
- python 豆瓣评论数据分析_Python爬虫实战案例:豆瓣影评大数据分析报告之网页分析...
个人希望,通过这个完整的爬虫案例(预计总共4篇短文),能够让爬虫小白学会怎么做爬虫的开发,所以在高手们看来,会有很多浅显的废话,如果觉得啰嗦,可以跳过一些内容~ 上一篇文章给大家简单介绍了Python ...
- 【ActiveReports 大数据分析报告】用数据分析的手段告诉你,复联4有多火爆?
消失的人们会回来吗,奇异博士所说的1400万分之一可能性究竟是什么,还会有谁逝去? 4月24日零时,随着万众期待的<复仇者联盟4>(以下简称<复联4>)正式上映,一切谜底都将揭 ...
- Titantic乘客生还预测数据分析报告—基于python实现
Titantic乘客生还预测数据分析报告-基于python实现 1. 问题提出 2. 数据描述 3. 特征独立分析 4. 数据处理 5. 模型评估 1. 问题提出 Titantic数据集是Kaggle ...
最新文章
- Java项目:课程资源管理+在线考试平台(java+SSH+mysql+maven+tomcat)
- zynq中mgtx应用_基于ZYNQ的UCOS移植(TCP通讯)
- 07-mysql基本查询,阶段二,条件查询
- 基础知识 + 面试题目 总结 索引页
- ArrayList 面试10连问
- C++面试题-面向对象-静态成员变量以及静态成员函数
- 零基础学python全彩版-零基础轻松学Python:青少年趣味编程(全彩版)
- jdbc preparestatement 执行多条语句_MyBatis执行器
- python机器学习案例系列教程——基于规则的分类器
- python AttributeError: 'module' object has no attribute 'dumps'解决办法
- 防火墙IPSec 虚拟专用网络配置[虚拟机环境]
- Html post易语言服务器,POST其实很简单 15 易语言模块之精易模块
- Latex学习笔记——字母的变体(正体、花体)
- 时域OCT与频域OCT的区别
- 格密码与最短向量上界
- 分布式架构优缺点以及设计
- Msc.Marc的python开发#1
- surface pro java_【微软SurfacePro4评测】两代产品外观对比_微软 Surface Pro 4_笔记本评测-中关村在线...
- echarts数据可视化图表(二):双柱状图
- python实例1-找质数/素数