TMDb数据分析报告

码字不易,谢谢支持。报告原文、数据集和代码请移步至:https://github.com/Alexander-zhoukai/TMDb-data-analysis-report

学习用python进行数据分析一段时间了,也跟着书本、网上案例,包括工作中的数据做了很多分析工作。用一个项目做阶段性的小结。

该项目是kaggle上的经典项目,美国百年间的电影数据分析,也是一个基础数据分析项目。

项目数据集是tmdb_5000_credits、tmdb_5000_movies,这两个文件比较大,这里没有上传,链接为:https://github.com/Alexander-zhoukai/Analysis-and-Prediction-on-TMDb5000

下面是目录
第一章 提出问题
1.1 项目背景
1.2 提出问题
1.3 分析思维
1.4 分析方法和工具
1.5 本项目计划

第二章 理解数据
2.1 导入包
2.2 导入数据
2.3 理解数据

第三章 数据清洗
3.1 数据预处理
3.2 特征提取
3.3 特征选取
3.4 小结数据清洗报告

第四章 数据分析及可视化
4.1 电影风格随时间变化的趋势
4.2 不同风格电影的收益能力
4.3 不同风格电影的受欢迎程度
4.4 不同风格电影的平均评分
4.5 不同类型电影的平均评分次数
4.6 比较Universal Picture与Paramount Picture两家巨头公司的业绩
4.7 原创电影和改变电影的对比
4.8 电影票房收入与哪些因素最相关
4.9 分析结论

第五章 项目回顾与总结

下面是报告正文

第一章 提出问题
1.1 项目背景

本报告数据来源于Kaggle平台上的项目TMDb(The Movie Database),主要是1916-2017年百年间美国电影作品,共有4803部。

通过对电影数据的分析,利用可视化的方法,发现电影流行的趋势,找到电影投资的方向,为行业新入局者提供参考建议。

本文的重点在于从不同的角度,用数据可视化的方法来分析。未能面面俱到。

1.2 提出问题
本次数据分析的核心任务是:通过历史电影数据的分析,为行业新入局者提供参考建议。细分为以下几个小问题:

问题1:电影风格随时间变化的趋势;
问题2:不同风格电影的收益能力;
问题3:不同风格电影的受欢迎程度;
问题4:不同风格电影的平均评分;
问题5:不同风格电影的平均评价次数;
问题6:比较Universal Picture与Paramount Picture两家巨头公司的业绩;
问题7:原创电影和改变电影的对比;
问题8:电影票房收入与哪些因素最相关。

1.3 分析思维
数据分析常用思维有细分、对比和溯源。

细分方法有横切、纵切和内切。
其中横切是指从各个维度的各个点来分析(如产品、渠道、用户、营销等维度里面的各个指标点);纵切是指通过漏斗分析、动作轨迹分析或者日志来做分析;内切一般是用RFM来深入分析。对比指横切的对比、纵切的对比、目标的对比或者时间上对比。溯源是指通过反复的细分,反复的对比,来确定关键点所在。

本项目采用的思维是细分-横切,从各个维度分析以找到关键信息。

1.4 分析方法和工具
本项目采用数据可视化的方法,来呈现各部分的分析结果,回答问题用数说话、用图说话。

数据分析过程中使用Python编程语言,数据处理使用pandas库、numpy库,可视化需要matplotlib库、seaborn 库。使用以上方法、工具能较好地完成本项目,是适合的方法和工具。

1.5 本项目计划
1月2号,完成第一、二章,前期工作:工具安装调试、项目背景和理解数据。
1月3、4号,完成第三、四章,主要是编写代码:完成数据清洗、数据分析和可视化。
1月5号,完成第五、六章,文字部分:整理项目资料,编写输出文档、存档资料。

第二章 理解数据
在Kaggle平台上找到TMDb项目,下载2个原始数据集:tmdb_5000_movies.txt和tmdb_5000_credits.txt,前者存放电影的基本信息,有20个字段,后者存放演职人员的信息,有4个字段。
在这里插入图片描述

2.1 导入包
数据分析及可视化常用库:
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns

import json
import warnings
warnings.filterwarnings(‘ignore’)
plt.rcParams[‘font.sans-serif’] = [‘SimHei’] # 处理中文乱码

2.2 导入数据
movies = pd.read_csv(‘D:/DataAnalysis/cases/TMDb1/tmdb_5000_movies.txt’)
credits= pd.read_csv(‘D:/DataAnalysis/cases/TMDb1/tmdb_5000_credits.txt’)

2.3 理解数据
边看边观察,为后续的处理做准备。
(1)查看数据维度:shape属性
movies.shape
credits.shape
(2)查看数据字段:columns属性
movies.columns
credits.columns
(3)查看数据统计信息:describe方法
movies.describe()
credits.describe()
(4)查看数据框信息:info方法
movies.info()
credits.info()
full.info()
(5)展示数据头:head方法
movies.head()
credits.head()

小结:movies表与credits有2个重复字段,id和title,接下来需要处理;movies表中homepage、release_date、runtime和tagline四个字段的数据均有缺失,也需要处理。

第三章 数据清洗
原始数据不适宜直接用来做分析,需要进行一系列的清洗,为后面的分析、可视化做好准备。

数据清洗主要分为3部分:预处理对数据进行删除、填充和合并;特征提取让数据更规整;特征选取已经开始做数据分析的前一步,将这一部分合并到下一章。

3.1 数据预处理

3.1.1 删除行列
credits中的字段title, 与movies中的字段title重复了,删除前者。

方法一:del命令
#删除title列
del credits[‘title’]
#删除homepage,original_title,overview,spoken_languages,status,tagline,movie_id
del full(‘homepage’)
del full(‘original_title’)
del full(‘overview’)
del full(‘spoken_languages’)
del full(‘status’)
del full(‘tagline’)
del full(‘movie_id’)

方法二:drop方法
#删除title列
credits.drop(‘title’, axis = 1, inplace = True),或者:
credits = credits.d

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值