数据来源:https://www.kaggle.com/damianpanek/sunday-eda/data
数据描述:2006年到2016年1000部最流行的电影数据
报告分为:
(1)提出问题
(2)认识数据
(3)清洗数据
(4)分析数据
(5)总结
(一)提出问题
(1)获取评分的平均分信息
(2)分析导演信息
(3)获取演员人数信息
(4)查看电影时长(runtime)的分布情况
(5)对电影上映时间进行分析
(6)统计电影分类(genre)的情况
(7)分析电影票房与哪些因素相关**
(二)认识数据
1、首先导入相关的python数据分析的库
import pandas as pd
import numpy as py
import matplotlib.pyplot as plt
2、数据的载入和预览
file_path = "IMDB-Movie-Data.csv"
df=pd.read_csv(file_path)
print(df.info())
print(df.head(1))
(三) 清洗数据
1、缺失值处理以及去重
可以看出Revenue (Millions) 、Metascore 有缺失值,这里只处理Revenue (Millions)的缺失值
df['Revenue (Millions)']=df['Revenue (Millions)'].fillna(df['Revenue (Millions)'].mean())#填充平均值
print(df.info())
2、查看数据的重复值
df.duplicated().sum()
输出结果为0,接下来我们进行分析。
---------------------------------------------*********----------------------------------------
(四)分析数据
(1)获取评分的平均分信息
df["Rating"].mean()
(2)分析导演信息
首先导演可能一位导演导演了多部电影,我们使用以下看一下导演人数
print(len(set(df["Director"].tolist())))
结果为664。
获取电影数量最多的前五位导演
Director_df_1 = df.groupby('Director')['Rank'].count()
Director_df_1.sort_values(ascending=False).head()
获取平均电影票房最高的前五位导演
Director_df_2 = df.groupby('Director')['Revenue (Millions)'].mean()
Director_df_2.sort_values(ascending=False).head()
从结果发现两份导演名单没有重合的名字,说明导演的电影数量与票房的高低没有必然的联系。
(3)获取演员人数信息
我们观察可知每部电影演员名之间是用逗号进行分割,所以我们首先用一个大列表来接收每部电影的演员列表:
temp_actors_list = df["Actors"].str.split(", ").tolist(