imdb数据集_数据分析Day7——实战|IMDB-Movie分析案例

一、项目背景

本数据报告以IMDB-Movie为数据集,通过相关的指标对电影进行分析,具体指标包括:电影时长和评分分布,评分平均数,导演人数,演员人数等,本例主要围绕pandas在实际中的应用为主(字符串离散化、数据合并、数据分组聚合,数据索引)。

二、数据来源

链接:https://pan.baidu.com/s/1R2dTotKIccLQzweNwjiGsg 提取码:p2og

三、提出问题

1.电影时长分布

2.评分分布

3.评分平均数

4.导演人数

5.演员人数

四、理解数据

# coding:utf-8import numpy as npimport pandas as pdfrom matplotlib import pyplot as pltpd.set_option('display.max_columns', None)pd.set_option('display.max_rows', None)file_path = r'.IMDB-Movie-Data.csv'df = pd.read_csv(file_path)# 查看数据df.head(5)
imdb数据集_数据分析Day7——实战|IMDB-Movie分析案例_第1张图片
df.info()
imdb数据集_数据分析Day7——实战|IMDB-Movie分析案例_第2张图片

五、电影时长分布

# 查看电影时长runtime_data = df["Runtime (Minutes)"]# 创建画布plt.figure(figsize=(20,8),dpi=80)# 最大值 最小值max_ = runtime_data.max()min_ = runtime_data.min()num_bin = (max_-min_)//5num_bin# 绘制图像plt.hist(runtime_data,num_bin)# 添加刻度plt.xticks(range(min_,max_+5,5))# 添加网格plt.grid()plt.show()
imdb数据集_数据分析Day7——实战|IMDB-Movie分析案例_第3张图片

六 、评分分布

# 1.创建画布plt.figure(figsize=(20, 8), dpi=100)# 2.绘制图像plt.hist(df["Rating"].values, bins=20)# 2.1 添加刻度max_ = df["Rating"].max()min_ = df["Rating"].min()t1 = np.linspace(min_, max_, num=21)plt.xticks(t1)# 2.2 添加网格plt.grid()# 3.显示plt.show()
imdb数据集_数据分析Day7——实战|IMDB-Movie分析案例_第4张图片

七、评分平均数、导演人数、演员人数

# 查看评分平均数df["Rating"].mean()# 查看导演人数np.unique(df["Director"]).shape[0]len(set(df["Director"].tolist()))# 查看演员人数num = df["Actors"].str.split(',').tolist()actor_nums = [j for i in num for j in i]len(set(actor_nums))

结果再次不显示了

八、统计电影分类情况

一部电影多个分类,要统计电影分类情况

df["Genre"]
imdb数据集_数据分析Day7——实战|IMDB-Movie分析案例_第5张图片

思路:取每一个分类名为列名,行填充为0,当属于分类时,替换成1,如下:

imdb数据集_数据分析Day7——实战|IMDB-Movie分析案例_第6张图片
# 统计分类的列表temp_list = df["Genre"].str.split(',').tolist()temp_list = [j for i in temp_list for j in i]genre_list = list(set(temp_list))# 构造全为0的数组zeros_df = pd.DataFrame(np.zeros((df.shape[0],len(genre_list))),columns=genre_list)zeros_df
imdb数据集_数据分析Day7——实战|IMDB-Movie分析案例_第7张图片
# 给每个电影出现的分类的位置赋值1for i in range(df.shape[0]):    zeros_df.loc[i,temp_lists[i]] = 1zeros_df.head(5)
imdb数据集_数据分析Day7——实战|IMDB-Movie分析案例_第8张图片
# 每个分类电影的和new_zeros = zeros_df.sum(axis=0)new_zeros 
imdb数据集_数据分析Day7——实战|IMDB-Movie分析案例_第9张图片
# 每个分类电影的和new_zeros = zeros_df.sum(axis=0)# 排序 画图genre_count = new_zeros.sort_values(ascending=False)x_ = genre_count.indexy_ = genre_count.valuesplt.figure(figsize=(20,8),dpi=80)plt.bar(range(len(x_)),y_,width=0.4,color="orange")plt.xticks(range(len(x_)),x_)plt.show()
imdb数据集_数据分析Day7——实战|IMDB-Movie分析案例_第10张图片

总结

imdb数据集_数据分析Day7——实战|IMDB-Movie分析案例_第11张图片

你可能感兴趣的:(imdb数据集)