YouTube热门视频的分析

  • 1 概述
  • 2 数据的预处理
  • 3. YouTube数据集的探索性分析
    • 3.1 简单的描述性分析
    • 3.2 相关性分析
    • 3.3 gropby分组函数
      • 3.3.1 gropby分组函数搜寻YouTube Top20的频道
      • 3.3.2 gropby分组函数 category类别出现的频率排序
      • 3.3.3 gropby分组函数 浏览量最多的Top20频道
      • 3.3.4 gropby分组函数 通关浏览量对类别进行排名
  • 4 结论:

1 概述

Youtube视频网站是美国最大的视频分享平台,youtube官网在中国也有很多用户。数据来源于kaggle网站,本文主要选取CA国家,探究YouTube在CA国家Top20热门视频数据。

2 数据的预处理

1、导包

 import numpy as npimport pandas as pdimport matplotlib.pyplot as plt`import seaborn as snsimport jsonfrom datetime import datetimeimport pandas as pddata = pd.read_csv("3D Objects/CAvideos.csv",index_col=0)

2、查看数据集

data

data["trending_date"]``


我们发现trending_date日期格式不一样,所以要对其进行日期格式的转化,这里我们用到datetime函数

data["trending_date"] = pd.to_datetime(data["trending_date"],format ="%y.%d.%m")

同理pubulish_time也一样

data["publish_time"] = pd.to_datetime(data["publish_time"],format = "%Y-%m-%dT%H:%M:%S.%fZ")
data["category_id"] = data["category_id"].astype(str)#转换成字符型

处理后的data

data.head()


对数据进行简单描述:
data.info()

从数据的初始描述可以得出该数据总共有15个指标,共有40881行记录
,且description有缺失值。
由于数据原本量就很大,且缺失的数占少数,因此可以对数据有缺失的行进行删除。

data = data.dropna()#删除有缺失值的行


通过对缺失值的处理,我们得到我们的完整的数据集。接下来我们对数据集中数值型变量做一个描述数据表,得到最初的对数据集的了解

接下来我们导入json文件,让其与category匹配

id_to_category = {}
with open (r"C:\Users\Desktop\4549_466349_bundle_archive/CA_category_id.json") as f:js = json.load(f)for category in js ["items"]:id_to_category[category["id"]] = category["snippet"]["title"]
data["category"] = data["category_id"].map(id_to_category)

处理过后的data如下:

查看json文件category_id和category匹配

id_to_category


利用已知的指标创建新变量。

1、“idrate”点赞量和不点赞量比例是一种用来衡量用户对某种类型视频的赞同与不赞同的重要指标
2、"perc_comment",评论占比等于"comment_count"/views
3、"perc_click",点击率等于("likes"+"dislikes")/"views"
data["idrate"] = data["likes"]/data["dislikes"]
data["per_comment"] = data["comment_count"]/data["views"]
data["perc_click"] = (data["dislikes"]+data["likes"])/data["views"]
data

添加新变量之后的数据
为了方便我们后期对YouTube在2017-2018年用户的浏览次数做分析,此时我们对发布时间进行提取。

data["publish_timi"] = data["publish_time"].dt.time
data["publish_ymd"] = data["publish_time"].dt.date
data


数据的预处理完成后,接下来我们对YouTube数据进行探索性分析

3. YouTube数据集的探索性分析

3.1 简单的描述性分析

data.describe()


绘制箱线图

f = scale(rs)
plt.boxplot( x = f,labels = dt.columns,whis=0.5,widths = 0.5)
plt.show()

可以看出各个指标的均值、标准差、最大值和分位数,其中views平均浏览量为1.17e+06次。

3.2 相关性分析

rs = pd.concat([pd.DataFrame(data.views),pd.DataFrame(data.likes),pd.DataFrame(data.dislikes),pd.DataFrame(data.comment_count)],axis=1)#提取
views,likes,dislikes,comment_count等四个指标做相关性分析。
rs


rs.corr()
相关性矩阵

相关性散点矩阵图
sns.pairplot(rs,height= 3 )

热图1

mask = np.zeros_like(rs.corr(),dtype = np.bool)#mask:用于突出显示某些数据
mask[np.tril_indices_from(mask)] = True
sns.heatmap(rs.corr(),mask = mask ,vmax = 0.3,center = 0,square = True , linewidths = 0.5,cbar_kws={"shrink":0.5})
plt.show()


热图2
相关性分析,从相关性散点矩阵图可以得出各变量间都存在着的正相关性,特别是likes与views,相关性系数达到了0.83,具有很强的正相关性。

3.3 gropby分组函数

3.3.1 gropby分组函数搜寻YouTube Top20的频道

by_channel = data.groupby(["channel_title"]).size().sort_values(ascending = False).head(20)
sns.barplot( by_channel.values,by_channel.index.values,palette="rocket")
plt.title("Top 20 channels of YouTube")
plt.xlabel("video count")
plt.show()


从上图中可以看到排名前三的频道分别为SET India ,MSNBC,FBC。

3.3.2 gropby分组函数 category类别出现的频率排序

y_cat = data.groupby(["category"]).size().sort_values(ascending = False)
sns.barplot(y_cat.values,y_cat.index.values,palette = "rocket")
plt.title("Most Frenquent Trending Youtube Categories")
plt.xlabel("video count")


从图中可以得到,出现次数最多的类别排名前三的分别为Entertainment,News&Politics,People&Blogs。

3.3.3 gropby分组函数 浏览量最多的Top20频道

by_channels2  = data.groupby("channel_title").size().sort_values(ascending = False)
top_channels2 = list(by_channels2[by_channels2.values>=20].index.values)
only_top2 = data
for i in list(data["channel_title"].unique()):if i  not in top_channels2:only_top2 = only_top2[only_top2["channel_title"]!= i ]by_views = only_top2.groupby(["channel_title"]).mean().sort_values(by = "views",ascending  = False).head(20)sns.barplot(by_views["views"],by_views.index.values,palette="rocket")
plt.title("Top 20 most viewed trending Youtube channels")
plt.xlabel("Average  Views")
plt.show()


从上图中我们能得出浏览量最多的频道排名前三的分别为Marvel Entertainment,Ed Sheeran ,Sony Pictures Entertainment 。

3.3.4 gropby分组函数 通关浏览量对类别进行排名

  by_views_cat = data.groupby(["category"]).mean().sort_values(by = "views",ascending = False)
sns.barplot(by_views_cat["views"],by_views_cat.index.values,palette="rocket")
plt.title(" Category of Youtube viewed")
plt.xlabel("Average Views")
plt.show()


从图中可以看到浏览量排名前三的类别为Music,Movies,Film&Animation,其中最不受欢迎的频道为Travel & Events。
绘制CA国家2017-11-14~2018-6-14,YouTube视频在CA国家受欢迎程度变化。

def show_time(data, var):averages = data[data["dislikes"] != 0].groupby("trending_date").mean()plt.plot(averages.index.values, averages[var])plt.xticks(rotation = 90)plt.xlabel("Date")plt.ylabel(f"Average {var}")plt.title(f"Average {var} Over Time (11/14/17 - 6/14/18)")plt.show()
show_time(data,"idrate")

4 结论:

正如您在上面的图表中看到的,CA国家的人对Music、Entertainment、,Movies关注程度很高。视频的评论越多,它的受欢迎程度就越高,视频的观看数与点赞数也是成很强的正相关性,浏览次数越多,点赞次数就越高。

YouTube热门视频的分析相关推荐

  1. Cris 小哥哥的大数据项目之 Hive 统计 YouTube 热门视频

    Cris 小哥哥的大数据项目之 Hive 统计 YouTube 热门视频 Author:Cris 文章目录 Cris 小哥哥的大数据项目之 Hive 统计 YouTube 热门视频 Author:Cr ...

  2. 【Hadoop】YouTube 视频数据集分析实验 (原理+过程+代码)

    一.实验背景 随着近年来视频拍摄设备与视频处理技术的高速发展,对网络上海量视频的分析越来越受到关注与重视.本实验希望通过使用 Hadoop 实验数据集 -- Dataset for "Sta ...

  3. 谷歌最新双塔DNN召回模型——应用于YouTube大规模视频推荐场景

    " 谷歌基于双塔DNN框架提出一个大规模最近邻召回系统,为降低采样偏差带来的影响,文章对batch softmax的损失函数进行了改进,同时从工程的角度介绍了大规模双塔DNN召回模型的训练. ...

  4. ajax headers 参数有什么用_动态爬虫(ajax)-爬取bilibili热门视频信息

    前言 使用python爬虫爬取bilibli每日热门视频的数据 使用的第三方软件包括requests.my_fake_useragent 一.页面分析 在进行爬虫之前,我们先要对要爬取的页面进行分析, ...

  5. Python爬虫系列之抖音热门视频爬取

    Python爬虫系列之抖音热门视频爬取 主要使用requests库以及手机抓包工具去分析接口 该demo仅供参考,已经失效,需要抖音2019年5月最新所有接口请点击这里获取 抖音资源获取接口文档请点击 ...

  6. 那么我们应该如何优化Youtube的视频呢?

    除了ins,Facebook,Twitter这类日常发帖分享型的社交网站外,还有其他的视频类网站也可以用于跨境电商的营销推广. 作为视频类的社媒网站,YouTube可以说是全球第一大视频类社媒营销网站 ...

  7. 为什么视频异常分析是最适合互联网时代的内容管理工具?

    信息爆炸--互联网时代的内容管理难题 人类历史,经历过多次内容传播方式的大变更,这些变更改变了人与人之间的关系,改变了人对世界认知的方式,也最终改变了人在内容传播链中的角色. 曾经,甲骨文只在贵族内部 ...

  8. 发抖音怎么上热门 视频文件改md5

              发抖音怎么上热门 视频文件改md5          "一夜成名"的答案茶,CoCo都可"布丁.青稞无糖"的焦糖奶茶配方,还有更多素人一夜变 ...

  9. Python实现某站热门评论情感分析----NLP自然语言处理

    文章目录 前言 准备工作 总体思路 开始动手 Python 爬取热门视频评论信息 Baidu AI 分析所得评论的情感信息 Excel 自动写入所有评论情感信息 主函数(开始执行) 运行结果 Exce ...

  10. YouTube 的视频推荐算法

    转载:https://www.zhihu.com/question/20829671/answer/205421638 第一阶段,基于User-Video图游历算法,2008年[1]. 在这个阶段,Y ...

最新文章

  1. MD5算法之C#程序
  2. 技术开发频道一周精选2007-8-24
  3. mybatis 乐观锁_MybatisPlus新特性之逻辑删除、乐观锁、自动填充
  4. Linux进程虚拟地址空间
  5. 实验中遇到的Quartus II的Warning的解释、原因以及解决方法
  6. python硬盘api-使用python获取电脑的磁盘信息方法
  7. access函数_ACCESS中的DLookUp函数是如何运算的?
  8. azure kinect三维点云_三维重建技术,你捋清楚了吗?本文适合小白
  9. ICCV 2021 best paper-Swin Transformer:对各类SOTA的降维打击!
  10. 银河麒麟系统10服务器安装教程,麒麟系统下安装win10的详细教程
  11. 区间异或和——DongDong破密码
  12. NoSQLBooster for MongoDB延长使用时间
  13. 信号量(sem)学习笔记
  14. 高精度线性恒压源设计及电路分析
  15. HDU 6143 Killer Names(容斥+组合)
  16. SIEMENS SMART知识网站
  17. Qt编写安防视频监控系统(支持win/linux/mac/海康/大华/宇视/264/265等)
  18. python提取内容保存excel_Python操作Excel之数据提取
  19. 淘宝搜索排名规律及优化方法
  20. 谁将成为“中国FedEx”?

热门文章

  1. 三角函数各个公式推理及证明
  2. Kibana警报之索引连接器
  3. JAVA用cmd找不到字符_cmd中输入java找不到文件解决方法
  4. 算是目前PAYPAL最全最完整的开发方式了
  5. 基于支持向量机的新闻分类
  6. db2 导出 oracle,db2导出数据库数据库
  7. 数字后端基本概念介绍Wire
  8. python元组元素的提取_Python 元组
  9. Android 项目总结(实现捕捉人脸)
  10. Maximum Likelihood 最大似然估计