电影数据分析——国产烂片深度揭秘

1 读取数据,以“豆瓣评分”为标准,看看电影评分分布,及烂片情况

要求:

① 读取数据“moviedata.xlsx”,去除缺失值

② 查看“豆瓣评分”数据分布,绘制直方图、箱型图

③ 判断“烂片标准” → 这里以上四分位数(该样本中所有数值由小到大排列后第25%的数字)评分为“烂片标准”

④ 筛选出烂片数据,并做排名,找到TOP20

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

import warnings
warnings.filterwarnings('ignore') 
# 不发出警告

from bokeh.io import output_notebook
output_notebook()
# 导入notebook绘图模块

from bokeh.plotting import figure,show
from bokeh.models import ColumnDataSource,HoverTool
# 导入图表绘制、图标展示模块
# 导入ColumnDataSource模块


# 查看数据,数据清洗
import os
os.chdir(r'E:\Python数据分析\项目\国产烂片深度揭秘')
# 创建工作路径

df = pd.read_excel('moviedata.xlsx')
df = df[df['豆瓣评分'] > 0]
print('初步清洗后数据量为%i条' % len(df))
# 读取数据
# 删除“豆瓣评分”小于等于0的值


# 查看豆瓣评分情况
fig = plt.figure(figsize = (10,6))
plt.subplots_adjust(hspace=0.2)
# 创建绘图空间

ax1 = fig.add_subplot(2,1,1)  
df['豆瓣评分'].plot.hist(stacked=True,bins=50,color = 'green',alpha=0.5,grid=True)
plt.ylim([0,150])
plt.title('豆瓣评分数据分布-直方图')
# 绘制直方图

ax2 = fig.add_subplot(2,1,2)
color = dict(boxes='DarkGreen', whiskers='DarkOrange', medians='DarkBlue', caps='Gray')
df['豆瓣评分'].plot.box(vert=False, grid = True,color = color) 
plt.title('豆瓣评分数据分布-箱型图')
# 绘制箱型图

df['豆瓣评分'].describe()

# 判断是否符合正态分布
from scipy import stats
# 导入相关模块

u = df['豆瓣评分'].mean()  # 计算均值
std = df['豆瓣评分'].std()  # 计算标准差
stats.kstest(df['豆瓣评分'], 'norm', (u, std))
# 这里p值大于0.05,为正态分布

# 结论:以样本数据上四分位数为烂片评判标准 → 4.3分


# 筛选出烂片数据,并做排名,找到TOP20
data_lp = df[df['豆瓣评分']<4.3].reset_index()
print('数据整理后,得到烂片数据量为%i条' % len(data_lp))
# 筛选烂片数据

lp_top20 = data_lp[['电影名称','豆瓣评分','导演','主演']].sort_values(by = '豆瓣评分').iloc[:20].reset_index()
del lp_top20['index']
lp_top20
# 查看烂片top20

烂片评价标准:4.3分,整理后烂片数据大概546条

2 什么题材的电影烂片最多?

要求:

① 按照“类型”字段分类,筛选不同电影属于什么题材

② 整理数据,按照“题材”汇总,查看不同题材的烂片比例,并选取TOP20

③ 将得到的题材烂片比例TOP20制作散点图 → 横坐标为“题材”类型,纵坐标为烂片比例,点大小为样本数量

提示:

① 删除“类型”字段空值的数据

② 由于一个电影“类型”会有多个,这里需要将一个电影每个“类型”都识别出来,在统计某个题材时都需要计算,例如:

   如果一个电影的类型为:“喜剧/爱情”,则在计算“喜剧”、“爱情”题材的烂片比例时,都需要将该电影算上

③ 注意类型字段中,要删除空格字符<

  • 3
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值