问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

丧尸电影数据分析:评分、评价数与受欢迎度的关系

创作时间:
作者:
@小白创作中心

丧尸电影数据分析:评分、评价数与受欢迎度的关系

引用
CSDN
1.
https://blog.csdn.net/weixin_53575943/article/details/143877202

丧尸电影作为近年来备受观众喜爱的电影类型,其评分、评价数与电影受欢迎度之间存在怎样的关系?本文通过数据分析的方式,对一组丧尸电影数据进行了深入分析,探讨了评分分布、评价数与评分的关系以及年份对评分的影响。

数据概览

本文的数据来源于网络电影平台,包含了一些丧尸电影的评分、评价数等信息。以下是数据集的目标字段:

  • 标题:电影名称
  • 评分:用户给出的评分(1-10分)
  • 评价数:参与评分的用户数量
  • 年份:电影上映年份

通过这些字段,可以进行基本的统计分析和一些可视化,了解丧尸电影的整体评分趋势以及受欢迎程度。

数据预处理

在进行数据分析之前,对数据进行了预处理,主要步骤包括:

  1. 列名修改:为了方便分析,将原始列名修改为更易懂的名称。
  2. 抓取值处理:从标题中将电影的上映年份提取出来;对于评分数据,采用均值填充;对于评价数为空的数据,使用0填充。
  3. 过滤无效数据:删除包含无效评价数(如"(尚未上映)"或"(暂无评分)")的电影。
  4. 数据类型转换:将评价数转换为整数类型,并从电影标题中提取上映年份信息,转换为整数类型。
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

# 设置中文字体
plt.rcParams['font.sans-serif'] = ['Microsoft YaHei']  # 使用微软雅黑字体
plt.rcParams['axes.unicode_minus'] = False  # 解决符号乱码问题

# 加载数据
df = pd.read_excel('./丧尸电影.xlsx')

# 修改列名
df = df.rename(columns={'rating_nums': '评分'})

# 截取有效数据
df = df[['标题', '评价数', '评分']]

# 填充或删除缺失值
df['评分'] = df['评分'].fillna(df['评分'].mean())
df['评价数'] = df['评价数'].fillna(0)

# 过滤无效数据
df = df[~df['评价数'].isin(['(尚未上映)', '(暂无评分)'])]

# 删除空白行
df = df.dropna()

# 处理评价数字段,并转类型
df['评价数'] = df['评价数'].str.split("(").str[1].str.split("人").str[0]
df['评价数'] = df['评价数'].astype('int')

# 处理年份字段,并转类型
df['年份'] = df['标题'].str.split("(").str[1].str.split(")").str[0]
df['年份'] = df['年份'].astype('int')

# 排序数据
df = df.sort_values(by=['年份', '评分'], ascending=[False, False])

评分分布情况

首先,对丧尸电影的评分进行分布分析,了解评分的集中程度及分布情况。通过直方图,可以观察到评分在什么范围内的集中程度,是否存在明显的偏差。

# 评分分布分析
sns.histplot(df['评分'], kde=True)
plt.title('丧尸电影评分分布')
plt.xlabel('评分')
plt.ylabel('频数')
plt.show()

分析结果:通过评分分布图,发现大部分评分集中在6-7分之间,表明大部分丧尸电影的观众对影片的评分中等偏下,少数影片的评分较低。

评分数与评分分析

接下来,通常探讨评价数与评分之间的关系。一般来说,评价数较多的电影可能会有更准确的评分。通过散点图,能够判断评价数与评分之间的关系可能存在的潜在影响。

# 评价数与评分关系
sns.scatterplot(x='评价数', y='评分', data=df)
plt.title('评价数与评分关系')
plt.xlabel('评价数')
plt.ylabel('评分')
plt.show()

分析结果:散点图显示出评价数较高的电影主要集中在评分较高的区域,但也有少数电影评价数多但评分较低。这说明,评价数较多的电影往往得到了较为准确的评分,但并不是所有高评价电影都能获得高分。

年份与评分分析

通过分析电影的上映年份与评分的关系,能够了解丧尸电影在不同年代的评分变化趋势。这对于预测未来丧尸电影的受欢迎程度具有一定的参考价值。

# 评分随年份变化的趋势
sns.lineplot(x='年份', y='评分', data=df, markers=True)
plt.title('丧尸电影评分随年份变化趋势')
plt.xlabel('年份')
plt.ylabel('评分')
plt.show()

分析结果:从评分随年份变化的趋势图来看,丧尸电影在近几年内的评分有所波动,但整体呈现出逐渐下降的趋势。这表明随着丧尸电影题材的调整和制作质量的变化,观众对丧尸电影的评价逐步降低。

结论

通过对丧尸电影数据的分析,得出了一些有趣的结论:

  1. 评分分配:大部分丧尸电影的评分集中在6-7分之间,少数电影的评分较低。
  2. 评价数与评分关系:评价数较多的电影通常有较为准确的评分,但也不乏高评价数却评分较低的电影。
  3. 年份影响:近几年上映的丧尸电影评分有所下降,表明该类型电影的质量在不断下降。

未来的分析可以考虑更多的因素,例如电影的详细类型、导演、演员等,以进一步深入挖掘影响电影评分的各种因素。

附录:完整代码

import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

# 数据加载与预处理
df = pd.read_excel('./丧尸电影.xlsx')
df = df.rename(columns={'rating_nums': '评分'})
df = df[['标题', '评价数', '评分']]
df['评分'] = df['评分'].fillna(df['评分'].mean())
df['评价数'] = df['评价数'].fillna(0)
df = df[~df['评价数'].isin(['(尚未上映)', '(暂无评分)'])]
df = df.dropna()
df['评价数'] = df['评价数'].str.split("(").str[1].str.split("人").str[0]
df['评价数'] = df['评价数'].astype('int')
df['年份'] = df['标题'].str.split("(").str[1].str.split(")").str[0]
df['年份'] = df['年份'].astype('int')
df = df.sort_values(by=['年份', '评分'], ascending=[False, False])

# 评分分布分析
sns.histplot(df['评分'], kde=True)
plt.title('丧尸电影评分分布')
plt.xlabel('评分')
plt.ylabel('频数')
plt.show()

# 评价数与评分关系
sns.scatterplot(x='评价数', y='评分', data=df)
plt.title('评价数与评分关系')
plt.xlabel('评价数')
plt.ylabel('评分')
plt.show()

# 评分随年份变化的趋势
sns.lineplot(x='年份', y='评分', data=df, markers=True)
plt.title('丧尸电影评分随年份变化趋势')
plt.xlabel('年份')
plt.ylabel('评分')
plt.show()

本文原文来自CSDN

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号