Python 数据分析微专业课程--项目03 视频网站数据清洗整理和结论研究

news/2024/5/8 20:16:11/文章来源:https://blog.csdn.net/zongzi009/article/details/82319477

1.项目说明

  • 读取爱奇艺网站数据,对数据进行清洗和整理,分析不同导演电影的好评率,
  • 对2001-2016电影影评人数分析,筛选出当年热门电影

2.项目具体要求

  • 数据清洗 - 去除空值;时间标签转化
  • 分析出不同导演电影的好评率,并筛选出TOP20
  • 统计分析2001-2016年每年评影人数总量,分析每年人数变化规律,筛选查看异常值,看异常值是否是当年热门电影

3.实现思路:

  • 数据清洗:对空值进行填充,数值型字段填充0,非数值型字段填充’缺失数据’;时间字段格式为’xxxx年xx月xx日’,可以使用datetime.datetime.strptime()方法转化为时间标签。
  • 查看数据可知数据是按天获取了一个月的视频数据,因此数据有重复,所以需要筛选出每一部视频最后获取日期的数据。
    可以根据剧名取最大值,获取各剧最后日期的数据,然后根据导演分组求’好评数’和’评分人数’的总数,即可计算得到好评率。
    根据上映年份分组统计该年份评分人数总数,用该数据绘制面积图,可查看每个年份评分人数总数的变化情况。
  • 筛选热门影片可以采用筛选出当年评分人数的异常值,即评分人数特别多的影片。可以先循环绘制各个年份影片评分人数的箱型图。
    来查看异常数据的大致情况。然后筛选数各个年份中评分人数超过上外限区间的影片,即可得到当年的热门影片。

4.实现过程:

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import warnings
import matplotlib
import datetime
import oswarnings.filterwarnings('ignore')os.chdir('c://test')
data= pd.read_csv('爱奇艺视频数据.csv',engine = 'python',encoding = 'gbk')#数据清洗 - 去除空值
#要求:创建函数
#提示:fillna方法填充缺失数据,注意inplace参数
def fillnull(df):cols = df.columnsfor col in cols:if df[col].dtype =='object':df[col].fillna('缺失数据',inplace = True)else:df[col].fillna(0,inplace = True)return df
df_c = fillnull(data)#数据清洗 - 时间标签转化
#① 将时间字段改为时间标签
#② 创建函数
def transformToDate(s):return s.apply(lambda x:datetime.datetime.strptime(x,'%Y年%m月%d日'))df_c['数据获取日期'] = transformToDate(df_c['数据获取日期'])

说明:该项目的数据清洗有两个要求,除了常见的缺失数据清洗,还有对不符合日期格式的数据进行处理,
使之转换为日期标签格式,这样就可以用于后面的计算。

df_s = df_c[['导演','数据获取日期','上映年份','评分人数','整理后剧名','好评数']]    
df_m = df_s.groupby(by = '整理后剧名').max().reset_index()#根据导演分组计算好评率
comment_df = df_m.groupby(by = '导演').sum()
comment_df['好评率'] = comment_df['好评数']/comment_df['评分人数']#获得好评率top20
comment_top = comment_df.sort_values(by = '好评率',ascending= False).iloc[:20]#图表可视化
fig1 = plt.figure(num = 1,figsize = (15,8))
comment_top['好评率'].plot(kind = 'bar',title = '不同导演电影的好评率',color = 'c',rot = 60)
plt.ylim([0.975,1])
plt.yticks(np.linspace(0.98,1,5))
plt.grid(linestyle = '--')

这里写图片描述

说明:根据不同导演好评柱状图发现TOP20的导演的好评率都达到98%,差距较小。
从数据分析的角度来看需要注意以下几点:
1.一个导演的好评率行业平均一般是多少,这么高的好评率是否有问题,这个需要从两方面来分析:
第一:数据准确性(刷数据?);
第二:统计量是否合适;
2.分析导演相关问题,是否有其他更加合适统计量

#计算统计出2001-2016年每年评影人数总量
comment_year = df_m[(df_m['上映年份']>=2001)&(df_m['上映年份']<=2016)].drop('数据获取日期',axis = 1)
comment_group = comment_year.groupby('上映年份')[['评分人数']].sum()#制作面积图,分析每年人数总量变化规律
fig2 = plt.figure(num = 2,figsize = (13,8))
comment_group[['评分人数']].plot.area(alpha = 0.8,color = 'lightblue',figsize = (13,8))
plt.title('2001-2016年每年影评人数总量统计')
plt.xticks(comment_group.index)
plt.xlim([2001,2016])#验证是否有异常值(极度异常)
fig3,axs = plt.subplots(4,4,figsize = (13,18),)
n = 2001
for i in range(4):for j in range(4):g= comment_year1.loc[comment_year1['上映年份'] == n]g[['评分人数','好评数']].boxplot(sym = 'o',whis = 3,ax =axs[i,j])axs[i,j].set_title('%i' % n)n+=1
plt.tight_layout(3)

这里写图片描述
这里写图片描述

说明:面积图非常直观的反映每年度评影人数总量的变化情况,这里可以发现评影人数在2011,2015年由两个峰值,
可以说明这两年有比较多的热门剧,或者有非常热门的剧出现。
创建子图,再循环绘制各年度评分人数和好评数的箱型图,可以查看各年度评分人数的分布情况,以及异常值情况。
由各年度箱型图发现在2011年和2015年有都有比较多的异常值,且异常值数值都较大。与面积图的情况相符

#创建函数获外限最大和最小区间
def get_limits(df,loc):q1 = df[loc].quantile(0.25)q3 = df[loc].quantile(0.75)iqr = q3 - q1lim_max = q3+3*iqrlim_min = q1-3*iqrreturn (lim_max,lim_min)#筛选异常值,同过评分人数中的异常值,超过外限最大区间的为当年热门电影for i in range(2001,2017):data_year = comment_year1[comment_year1['上映年份'] ==i] #获得该年份上映的数据loc = '评分人数'    #以评分人数作为判定标准m = get_limits(data_year,loc)  #获得上下限区间overLim_list = data_year[data_year['评分人数']>m[0]] #评分人数大于上限区间的异常值数据print('%i年一共有%i条数据:' % (i,len(overLim_list))) print(overLim_list,'\n\n\n ----------')

说明:这里将以超过外限区间的值为异常值,区间计算:最大值区间Q3+3IQR,最小值区间Q1-3IQR (IQR=Q3-Q1)
超过最大值区间的数据评分人数都比较多,可视为热门电影,这里是采用根据年度进行循环筛选,筛选出当年的热门影视剧。
查看筛选出来的影视剧可知这些剧都为当年比较热门的影视剧。2011年的非常热门影视剧是:宫锁心玉, 回家的诱惑.
也可以对热门影视剧的类型进行分析,看哪些类型的影视剧容易成3为热门

5.总结

  • 知识点上这个项目主要还是考查对pandas,numpy,matplotlib的使用,特别是对异常值的查看和筛选。
  • 通过对该项目的完成对数据分析的实际运用有了新的认识,就是如何运用对数据异常值来分析热门的事物。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_900835.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ppt免费下载网站分享

第一PPT https://www.1ppt.com/ 优品PPT https://www.ypppt.com/ 比格PPT http://www.tretars.com/ PPT宝藏 http://www.pptbz.com/ 51 PPT模板 https://www.51pptmoban.com/

IIS中启用CGI来托管PHP和Python网站

IS中如果要托管PHP和Python的web站点&#xff0c;需要用到CGI来处理HTTP请求&#xff0c;默认情况IIS中是没有CGI模块的&#xff0c;需要在Windows server的服务器管理器&#xff08;Server Manager&#xff09;中安装CGI模块&#xff0c;步骤如下&#xff1a; 首先打开Server …

图解IIS8上解决网站第一次访问慢的处理(转载)

本篇经验以IIS8&#xff0c;Windows Server 2012R2做为案例。IIS8 运行在 Windows Server 2012 and Windows 8 版本以上的平台上。IIS中应用程序池和网站是单独存在的&#xff0c;但是网站运行必须建立在对应的应用程序池启动的前提下。默认情况下&#xff0c;应用程序池在不活…

【分享】FME小白式安装教程及教学网站

前言 FME(Feature Manipulate Engine,简称FME)是加拿大Safe Software公司开发的空间数据转换处理系统,它是完整的空间ETL解决方案。该方案基于OpenGIS组织提出的新的数据转换理念“语义转换”,通过提供在转换过程中重构数据的功能,实现了超过250种不同空间数据格式(模型)之间的…

完美解决Github网站刷新速度慢

版权声明&#xff1a;本文为CSDN博主「岳振威」的原创文章&#xff0c;遵循CC 4.0 BY-SA版权协议&#xff0c;转载请附上原文出处链接及本声明。 原文链接&#xff1a;https://blog.csdn.net/u014627020/article/details/118095013 完美解决Github网站刷新速度慢 1. 修改本地…

桌面风格的WEB网站收藏

天天记账网&#xff1a;http://www.365jizhang.com 超级牛牛无敌在线盯盘专家&#xff1a;http://www.googlook.net/stock/Stock.html

记录 PPT免费模板网站

工欲善其事必先利其器 &#xff01;&#xff01;&#xff01; 模板 PPT超级市场 优品PPT 素材 colorhunt - 配色 Pexels - 素材图片 阿里巴巴矢量图标库 免费 图标 LOGO&#xff0c;支持多种格式 自主颜色调整 Qiuziti - 字体 工具 islide - 辅助插件 环形布局、智能图表、…

web网站示例代码拉取

1、创建一个文件夹demo 1)初始化文件夹 npm init 2)下载express requests npm i express requestsdemo——index.js //1-1 下载代码 let requests require("requests"); //2-2在这保存文件 let fs require("fs"); // 2-1配置它&#xff0c;否则会报错 …

java/php/net/pythont二手手机回购网站设计

本系统带文档lw万字以上答辩PPT查重 如果这个题目不合适&#xff0c;可以去我上传的资源里面找题目&#xff0c;找不到的话&#xff0c;评论留下题目&#xff0c;或者站内私信我&#xff0c; 有时间看到机会给您发 1管理员用例 管理员登录后可进行首页、个人中心、会员管理、…

java/php/net/pythont东软健身会员网站设计

本系统带文档lw万字以上答辩PPT查重 如果这个题目不合适&#xff0c;可以去我上传的资源里面找题目&#xff0c;找不到的话&#xff0c;评论留下题目&#xff0c;或者站内私信我&#xff0c; 有时间看到机会给您发 本课题要求实现一套东软健身会员网站的开发与实现&#xff0c…

不要在翻译中迷失:如何进行网站本地化-20150105早读课

关于本地化网站的一个常见误区是他们总被认为就是原网站的一个翻译版本。翻译不是一切。当然&#xff0c;对用户而言内容才是一切&#xff1a;是否这些内容之间有联系并容易被用户理解同时符合和用户的文化语境呢&#xff1f; 创业家杂志指出&#xff1a; “根据IDC公司的一项调…

免费的银行卡BIN查询网站(API)

https://xbronc.com/lab/cardbin.html也可以支持API接口方式调用。

做自媒体值实用的九个网站,身为老司机的你你用过没?

嗨咯&#xff0c;大家好&#xff0c;这里是依旧为自媒体人推送你所想了解的平台运营方法技巧&#xff0c;在前面我们已经讲到了百家号的注册以及运营的小技巧&#xff0c;在这里给大家分享几个好用又实用的网站&#xff0c;希望对你们有帮助哦~ 作为一个自媒体人&#xff0c;内…

(学习经验谈)Android开发不可或缺的十大网站及工具

Android开发不可或缺的十大网站及工具 1. Google 做开发前完全是小白&#xff0c;真心不知道有Google这东西&#xff0c;只晓得百度&#xff0c;遇到问题直接百度&#xff0c;不是黑百度&#xff0c;百度在娱乐八卦方面确实靠谱&#xff0c;但是技术方面查出来的东西基本千篇…

政府网站方案书

政府网站方案书 第一章 前言 2第二章 成功经验 3第三章 系统总体设计原则 3一、门户网站建设目标 3二、网站程序设计原则 32.1 开放性&#xff1a; 32.2 先进性&#xff1a; 42.3 高性能&#xff1a; 42.4 实用性&#xff1a; 42.5 安全性&#xff1a; 42.6 规范性&#xff1a;…

欢迎您到威斯康星大学的CSE人工智能网站

欢迎您到威斯康星大学的CSE人工智能网站&#xff01; We are active in all major areas of AI, including machine learning, natural language processing, planning, reasoning, robotics, and vision.我们正积极在各主要地区的禽流感&#xff0c;包括机器学习&#xff0c;自…

网站在服务器做301重定向

为了便于网站优化&#xff0c;统一数据&#xff0c;我们常把带www和不带www的网站绑定到一起&#xff0c;但域名解析的时候常常默认不带www和带www的是两个网站举个例子&#xff1a;cc.com和www.cc.com默认是两个站 那么这时候我们就需要将这两个绑定到一起 这里说的是nginx的…

白嫖必看!这份由阿里P8大牛编译的JDK源码剖析及大型网站技术架构与业务架构融合之道1000页笔记

前言 并发编程可选择的方式有多进程、多线程和多协程。对于Java来说&#xff0c;它既不像C那样&#xff0c;在运行中调用Linux的系统API去“fork”出多个进程&#xff1b;也不像Go那样&#xff0c;在语言层面原生提供多协程。在Java中&#xff0c;并发就是多线程模式。 本文基…

树莓派搭建个人博客web网站 步骤一 系统安装

1.准备 你可能提前需要准备的东西如下: 16GB or 32GB 的SanDisk内存卡&#xff08;注意是以前那种放在手机上&#xff0c;很小的哦&#xff09;一根最普通不过的usb安卓数据线&#xff08;not type-c&#xff09;u盘格式化工具&#xff08;推荐使用 SDFormatter&#xff09;系…

树莓派搭建个人博客web网站 步骤二 环境搭建

1.安装Nginx 注意&#xff1a;源一定要新&#xff0c;并升级好 sudo apt-get install nginx1.1启动Nginx sudo service nginx start1.2服务状态 查看nginx服务状态 sudo service nginx statusifcinfig1.3 检查是否正常 浏览器输入树莓派ip地址192.168.3.26 出现 welcome…