TMDb电影数据集探索
项目概述
在本项目中,将分析一个TMDb(The Movie Database:美国电影数据集),然后传达我的发现。将使用 Python 库 NumPy、Pandas 和 Matplotlib 来使帮助我进行分析。
数据集
本数据集中包含 10,000 条电影信息,信息来源为“电影数据库”(TMDb,The Movie Database),包括用户评分和票房。
“演职人员 (cast)”、“电影类别 (genres)”等数据列包含由竖线字符(|)分隔的多个数值。“演职人员 (cast) ”列中有一些奇怪的字符。以“_adj”结尾的最后两列表示了考虑了通货膨胀之后的相关电影的预算和收入(以2010年美元的价值来计算)。
项目重点
需要探索的问题
- 哪种体裁/类型(genres)的平均预算(budget)最高?
- 最受欢迎(popularity)前五的体裁/类型(genres),每年的受欢迎程度是如何变化的?
- 哪种电影类型的评分(vote_average)最高——和受欢迎程度(popularity)有何关系?
目的
经过对数据集的探索:
- 了解如何调查数据集中的问题,以及将数据整理成可以使用的格式
- 并练习传达我的分析结果。
- 能够在 NumPy 和 Pandas 中使用向量化运算,以加快数据分析代码的运行速度
- 熟悉 Pandas 的 Series 和 DataFrame 对象,可以使访问数据更方便
- 了解如何使用 Matplotlib 生成图形,展示你的发现
项目流程
第一步:选择数据集
本次选取探索的数据集为“TMDb电影数据库”,数据集中包含来自1960-2016年上映的近11,000部电影的基本信息,主要包括了电影类型、预算、票房、演职人员、时长、评分等信息。
第二步:组织文件
- 用来传达发现的报告文档
- 用来分析数据的Python 代码()
- 数据集(tmdb-movies.csv)
第三步:数据整理
#加载要使用的库
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
%matplotlib inline
常规属性
#导入数据
df_tmdb = pd.read_csv('tmdb-movies.csv')
#查看基本信息
df_tmdb.info()
查看后发现,共包含10866组,每组数据包含21种数据。
#了解数据的基本形态
df_tmdb.head(3)
id | imdb_id | popularity | budget | revenue | original_title | cast | homepage | director | tagline | ... | overview | runtime | genres | production_companies | release_date | vote_count | vote_average | release_year | budget_adj | revenue_adj | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | 135397 | tt0369610 | 32.985763 | 150000000 | 1513528810 | Jurassic World | Chris Pratt|Bryce Dallas Howard|Irrfan Khan|Vi... | http://www.jurassicworld.com/ | Colin Trevorrow | The park is open. | ... | Twenty-two years after the events of Jurassic ... | 124 | Action|Adventure|Science Fiction|Thriller | Universal Studios|Amblin Entertainment|Legenda... | 6/9/15 | 5562 | 6.5 | 2015 | 1.379999e+08 | 1.392446e+09 |
1 | 76341 | tt1392190 | 28.419936 | 150000000 | 378436354 | Mad Max: Fury Road | Tom Hardy|Charlize Theron|Hugh Keays-Byrne|Nic... | http://www.madmaxmovie.com/ | George Miller | What a Lovely Day. | ... | An apocalyptic story set in the furthest reach... | 120 | Action|Adventure|Science Fiction|Thriller | Village Roadshow Pictures|Kennedy Miller Produ... | 5/13/15 | 6185 | 7.1 | 2015 | 1.379999e+08 | 3.481613e+08 |
2 | 262500 | tt2908446 | 13.112507 | 110000000 | 295238201 | Insurgent | Shailene Woodley|Theo James|Kate Winslet|Ansel... | http://www.thedivergentseries.movie/#insurgent | Robert Schwentke | One Choice Can Destroy You | ... | Beatrice Prior must confront her inner demons ... | 119 | Adventure|Science Fiction|Thriller | Summit Entertainment|Mandeville Films|Red Wago... | 3/18/15 | 2480 | 6.3 | 2015 | 1.012000e+08 | 2.716190e+08 |
3 rows × 21 columns
#查看重复数据
df_tmdb.duplicated().sum()
显示有1条重复数据。
#清除重复数据并检查
df_tmdb.drop_duplicates(inplace=True)
df_tmdb.duplicated().sum()
0
#查看空值数据
df_tmdb.isnull().sum(