EDA和数据挖掘实战:漫威与 DC电影收视率和票房分析

数据派THU

共 5101字,需浏览 11分钟

 ·

2021-11-30 03:32

来源:DeepHub IMBA

本文约2200字,建议阅读8分钟

本文我们将根据一些数据来对比Marvel与DC, 数据总能说出真相。


Marvel Cinematic vs DC Universe哪个更好,这是一场永无止境的辩论,对吧?当你反对这些电影的任何一个时,粉丝会变得疯狂。在本篇文章中,我们将根据一些数据来对比Marvel与DC, 数据总能说出真相。

MCU 与 DC


本文末尾提供了下载数据集的链接。你可以在 Jupyter Notebook、Google Colab 或任何其他首选编辑器中编写 Python 代码。

代码和分析


import pandas as pdimport scipy.stats as stats
import matplotlib.pyplot as pltfrom matplotlib.pyplot import figureimport plotlyimport plotly.express as px% matplotlib inline

让我们加载数据先看看是什么样子的。

df = pd.read_csv("/content/mdc.csv", encoding='latin-1')df.head()

数据包括电影名称、发行年份、电影类型、IMDB 评级、IMDB 总收入等。

下面看看更多的信息:

df.describe()
df.info()

这两个函数可以帮我们查看数据大体的情况,例如每列的数据类型和信息,还有检查每列中的空值。我们的数据集中没有空值。

数据相关性:

f,ax = plt.subplots(figsize=(14,10))sns.heatmap(df.corr(), annot=True, fmt=".2f", ax=ax)plt.show()

以上就是两列之间相关性的热图。

如果你想看漫威电影或 DC 电影,你可以通过过滤数据来做到这一点。像这样:

df[df.entity == 'MARVEL'].tail(5)
df[df.entity == 'DC'].tail(5)

谁拍的电影更多?

fig = plt.figure(figsize = (10,10))ax = fig.subplots()df.entity.value_counts().plot(ax=ax, kind='pie')ax.set_ylabel("")ax.set_title("MARVEL VS DC (No. of Movies)")plt.show()

上面的饼图清楚地告诉我们,漫威制作的电影比 DC 多。在这里,MCU 大获全胜。

电影类型

fig = plt.figure(figsize = (10,10))ax = fig.subplots()df[df.entity == 'MARVEL'].genre.value_counts().plot(ax=ax, kind='pie')ax.set_ylabel("")ax.set_title("Marvel Movie Genre Type")plt.show()

正如你所看到的,漫威电影宇宙的大部分类型是动作、冒险、科幻、喜剧和奇幻。现在来看看 DC。

fig = plt.figure(figsize = (10,10))ax = fig.subplots()df[df.entity == 'DC'].genre.value_counts().plot(ax=ax, kind='pie')ax.set_ylabel("")ax.set_title("DC Movie Genre Type")plt.show()

可以看到DC电影比漫威电影更加多样化。DC 尝试过更多类型(虽然失败了,哈)。我认为这是 DC Universe 最好的部分。

基于 IMDB 的评分最高的漫威和 DC 电影

dc_movies = df[df.entity == 'DC']marvel_movies = df[df.entity == 'MARVEL']
#Average and highest rated of dc moviesavrg_dc_imdb = dc_movies['imdb_rating'].mean()avrg_dc_imdb = dc_movies['imdb_rating'].mean()highest_dc_imdb = dc_movies['imdb_rating'].max()print("Average: ",avrg_dc_imdb, "\n Highest: ",highest_dc_imdb)
#Average and highest rated of marvel moviesavrg_marvel_imdb = marvel_movies['imdb_rating'].mean()highest_marvel_imdb = marvel_movies['imdb_rating'].max()print("Average: ",avrg_marvel_imdb, "\n Highest: ",highest_marvel_imdb)


结果是这样:


###DC###Average: 6.133333333333335Highest: 9.0
###MARVEL####Average: 6.794736842105261Highest: 8.4

DC 电影的平均评分为 6.133,漫威电影的平均评分为 6.794。DC 拥有有史以来收视率最高的电影之一。

IMDB 评分与票房

plt.scatter(data = marvel_movies, x = 'imdb_rating', y = 'imdb_gross')plt.scatter(data = dc_movies, x = 'imdb_rating', y = 'imdb_gross')plt.title('Marvel vs. DC in imdb ratings and gross')plt.xlabel('IMDb Ratings')plt.ylabel('IMDb Gross')plt.legend(['Marvel', 'DC'])

就总票房而言,有少数几个漫威电影大幅度领先DC 。大多数漫威电影的 IMDB 评分都在 6.7 到 8.2 之间。

DC 电影的评分在图中均匀分布。在 IMDB 总票房上表现不错,但如果将它与漫威进行比较,它们少很多。

那个评分最低的肯定是绿灯侠😎

Tomatometer vs IMDB评分

注:Tomatometer 是来自烂番茄的评分

imdb_vs_tm = sns.lmplot(data=df, x="imdb_rating", y="tomato_meter", hue="entity", height=7)imdb_vs_tm.set_axis_labels("IMDb Ratings", "Tomato meter Score")


基于 IMDB 的DC 电影列表

top_dc_movie = dc_movies.groupby('title').sum().sort_values('imdb_rating', ascending=False)top_dc_movie = top_dc_movie.reset_index()px.bar(x='title', y ="imdb_rating", data_frame=top_dc_movie)

黑暗骑士是收视率最高的 DC 电影。它的 IMDB 评分为 9。希斯·莱杰之后再无小丑, 这部电影展示了 DC Universe 的能力。

基于 IMDB 的漫威电影列表

top_marvel_movie = marvel_movies.groupby('title').sum().sort_values('imdb_rating', ascending=False)top_marvel_movie = top_marvel_movie.reset_index()px.bar(x='title', y ="imdb_rating", data_frame=top_marvel_movie)
复仇者联盟终局之战是漫威最高评价的电影。它的 IMDB 评分为 8.4。这里可能是数据集的一些错误,因为这里显示《神奇四侠》的评分最高,说出来你都不信,对吧😂。

上映时间

###Marvel###avrg_marvel_runtime = marvel_movies['runtime'].mean()highest_marvel_runtime = marvel_movies['runtime'].max()
###DC###avrg_dc_runtime = dc_movies['runtime'].mean()highest_dc_runtime = dc_movies['runtime'].max()
print("Marvel\nAverage: ",avrg_marvel_runtime, "\n Highest: ",highest_marvel_runtime)print("DC\nAverage: ",avrg_dc_runtime, "\n Highest: ",highest_dc_runtime)


输出如下:


MarvelAverage: 124.54385964912281Highest: 244DCAverage: 123.45454545454545Highest: 164

漫威和DC电影的平均上映时间几乎相等。但是在他们最高的时间上有很大的不同。

基于IMDB的票房对比

top_marvel_movie_gross = marvel_movies.groupby('title').sum().sort_values('imdb_gross', ascending=False)top_marvel_movie_gross = top_marvel_movie_gross.reset_index()px.bar(x='title', y ="imdb_gross", data_frame=top_marvel_movie_gross)

众所周知,《复仇者联盟4:终局之战》高居榜首,紧随其后的是《黑豹》、《无限战争》等等。《终局之战》在IMDB上的总收入超过800美元。

top_dc_movie_gross = dc_movies.groupby('title').sum().sort_values('imdb_gross', ascending=False)top_dc_movie_gross = top_dc_movie_gross.reset_index()px.bar(x='title', y ="imdb_gross", data_frame=top_dc_movie_gross)

《黑暗骑士》的IMDB总收入最高。就收入而言,DC与漫威相差甚远。

漫威和DC的总收入对比

fig = px.line(df, x="year", y="imdb_gross", color='entity')fig.show()

在过去的几年里,漫威电影的IMDB票房收入远远超过DC。

漫威或DC拍电影的频率对比

fig2 = px.line(df, x='year', y='title', color='entity')fig2.show()

从上图中我们可以得出结论,2002年之后,漫威比DC更频繁地制作电影。也许这就是 DC 的粉丝基数与漫威相比略低的原因。

总结


以上对比我们无法评判这两个电影制作公司谁好谁坏,但这两家制作公司在过去的几十年里都在制作好电影并为观众带来欢乐,这就够了。

最后本文的colab地址:https://colab.research.google.com/drive/12DPN0BFYz0Slq2J8m-ney10x8DHWG8zh?usp=sharing

如果图片看不清楚的话也可以在colab上直接查看。

编辑:黄继彦

浏览 51
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报