【可视化分析案例】用python分析B站Top100排行榜数据

一、数据源

之前,我分享过一期爬虫,用python爬取Top100排行榜:

最终数据结果,是这样的:
TOP100数据

在此数据基础上,做python可视化分析。

二、数据读取

首先,读取数据源:

# 读取csv数据
df = pd.read_csv(csv)

三、数据概览

用shape查看数据形状:

# 查看数据形状
df.shape

用head查看前n行:

# 查看前5行
df.head(5)

用info查看列信息:

# 查看列信息
df.info()

用describe查看统计性分析:

# 描述性统计分析
df.describe()

描述性统计

四、数据清洗

查看是否存在空值:

# 查看空值
df.isna().any()

【可视化分析案例】用python分析B站Top100排行榜数据
每列都是False,没有空值。

查看是否存在重复值:

#查看重复值
df.duplicated().any()

【可视化分析案例】用python分析B站Top100排行榜数据
False代表没有重复值。

上面我们看到,点踩数都是0,没有分析意义,所以,用drop删除此列:

# 删除没用的列
df.drop('点踩数', axis=1, inplace=True)

删除之后,查看删除结果:
【可视化分析案例】用python分析B站Top100排行榜数据
没有点踩数了。

五、可视化分析

5.1 相关性分析(Correlation)

数据中,有播放数、弹幕数、投币数、点赞数、分享数、收藏数等众多数据指标。

我想分析出,这些指标中,谁和综合得分的关系最大,决定性最高。

直接采用pandas自带的corr函数,得出相关性(spearman相关)矩阵:
【可视化分析案例】用python分析B站Top100排行榜数据
可以看出,点赞数和综合得分的相关性最高,达到了0.66。

根据此分析结论,进一步画出点赞数和综合得分的分布散点图,验证此结论的正确性。
【可视化分析案例】用python分析B站Top100排行榜数据
得出结论:随着点赞数增多,综合得分呈明显上升趋势,进一步得出,二者存在正相关的关系

5.2 饼图(Pie)

综合得分划分分布区间,绘制出分布饼图。

首先,划分数据区间:

# 设置分段
bins = [1000000, 1500000,2000000, 2500000, 3000000, 10000000]
# 设置标签
labels = [
    '100w-150w',
    '150w-200w',
    '200w-250w',
    '250w-300w',
    '300w-1000w'
]
# 按分段离散化数据
segments = pd.cut(score_list, bins, labels=labels)  # 按分段切割数据
counts = pd.value_counts(segments, sort=False).values.tolist()  # 统计个数

至于区间怎么划分,可以按照对数据的大致理解,和最终可视化呈现的效果,微调划分区间。

绘制饼图:
【可视化分析案例】用python分析B站Top100排行榜数据
得出结论:综合得分在100w至150w这个区间的视频最多,有36个视频(占比36%)

5.3 箱形图(Boxplot)

箱形图,是一种分析数据分布、离散情况的数据分析方法。
【可视化分析案例】用python分析B站Top100排行榜数据
首先,我尝试了把这几个数据指标,绘制在同一张图里:
【可视化分析案例】用python分析B站Top100排行榜数据
可以发现,由于播放数远远大于其他数据指标,不在一个数量级,导致其他数据指标的box都挤到一块了,可视化效果很差,所以,我打算把每个box画到一个图里,避免这种情况的发生。

以下代码,含知识点(subplot(n_row, n_col, order) n_row代表几行,n_col代表几列,order代表第几个)
【可视化分析案例】用python分析B站Top100排行榜数据
得出结论:每个数据指标都存在极值的情况(最大值距离box很远),数据比较离散,方差较大

5.4 词云图(wordcloud)

针对视频作者,画出词云图。

代码中各个细节设置项,已添加对应注释,不再赘述。
【可视化分析案例】用python分析B站Top100排行榜数据
和原始背景图对比:
【可视化分析案例】用python分析B站Top100排行榜数据
这个背景图,是我找的一个动漫小人的图片,对比词云图,你会发现:

  1. 词云图和背景图的形状,大体一致(mask参数的作用)

  2. 词云图和背景图的颜色分布,大体一致(color_func参数的作用)

至此,全部分析结束。

六、同步讲解视频

此案例的讲解视频:
https://www.zhihu.com/zvideo/1513851213354893312

七、附完整源码

附完整源码:点击这里完整源码


更多分析源码案例 -> 马哥python说

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:【可视化分析案例】用python分析B站Top100排行榜数据 - Python技术站

(0)
上一篇 2023年4月2日
下一篇 2023年4月2日

相关文章

  • 【11个适合毕设的Python可视化大屏】用pyecharts开发拖拽式可视化数据大屏

    你好,我是@马哥python说,一枚10年程序猿。 一、效果演示 以下是我近期用Python开发的原创可视化数据分析大屏,非常适合毕设用,下面逐一展示:(以下是截图,实际上有动态交互效果哦) 以下大屏均为@马哥python说的个人原创,请勿转载。 1.1 影视剧分析大屏 1.2 豆瓣电影分析大屏A 1.3 豆瓣电影分析大屏B 1.4 58同城房源分析大屏 1…

    python 2023年5月10日
    00
  • 【爬虫+情感判定+Top10高频词+词云图】”乌克兰”油管热评python舆情分析

    目录 一、分析背景 二、整体思路 三、代码讲解 3.1 爬虫采集 3.2 情感判定 3.3 Top10高频词 3.4 词云图 四、得出结论 五、同步视频演示 六、附完整源码 一、分析背景 乌克兰局势这两天日益紧张,任何战争到最后伤害的都是无辜平民,所以没有真正的赢家!祈祷战争早日结束,世界和平!油管上讨论乌克兰局势的评论声音不断,采用python的文本情感分…

    2023年4月2日
    00
  • 【保姆级Python入门教程】马哥手把手带你安装Python、安装Pycharm、环境配置教程

    您好,我是 @马哥python说 ,一枚10年程序猿。 我的社群中小白越来越多,咨询讨论的问题很多集中在python安装上,故输出此文,希望对大家起步有帮助。 下面开始,先安装Python,再安装pycharm,咱一步一步来。 一、安装Python解释器 1、打开python官网下载地址:https://www.python.org/downloads/ 「…

    Python开发 2023年4月2日
    00
  • 【Python数据分析案例】python数据分析老番茄B站数据(pandas常用基础数据分析代码)

    目录 一、爬取老番茄B站数据 二、python数据分析 1、读取数据源 2、查看数据概况 3、查看异常值 4.1、查看最大值(max函数) 4.2、查看最小值(min函数) 5.1、查看TOP3的视频(nlargest函数) 5.2、查看倒数3的视频(nsmallest函数) 6、查看相关性 7.1、可视化分析-plot 7.2、可视化分析-pyechart…

    2023年4月2日
    00
  • 【爬虫+情感判定+Top10高频词+词云图】“刘畊宏“热门弹幕python舆情分析

    目录 一、背景介绍 二、代码讲解-爬虫部分 2.1 分析弹幕接口 2.2 讲解爬虫代码 三、代码讲解-情感分析部分 3.1 整体思路 3.2 情感分析打标 3.3 统计top10高频词 3.4 绘制词云图 3.5 情感分析结论 四、同步演示视频 五、附完整源码 一、背景介绍 最近一段时间,刘畊宏真是火出了天际,引起一股全民健身的热潮,毕竟锻炼身体,是个好事!…

    2023年4月2日
    00
  • 【爬虫+情感判定+Top10高频词+词云图】”王心凌”热门弹幕python舆情分析

    目录 一、背景介绍 二、代码讲解-爬虫部分 2.1 分析弹幕接口 2.2 讲解爬虫代码 三、代码讲解-情感分析部分 3.1 整体思路 3.2 情感分析打标 3.3 统计top10高频词 3.4 绘制词云图 3.5 情感分析结论 四、同步演示视频 五、附完整源码 一、背景介绍 最近一段时间,王心凌在浪姐3的表现格外突出,唤醒了一大批沉睡中的老粉,纷纷直呼’爷青…

    2023年4月2日
    00
  • 【爬虫+数据清洗+可视化分析】舆情分析哔哩哔哩”狂飙”的评论

    目录 一、背景介绍 二、爬虫代码 2.1 展示爬取结果 2.2 爬虫代码讲解 三、可视化代码 3.1 读取数据 3.2 数据清洗 3.3 可视化 3.3.1 IP属地分析-柱形图 3.3.2 评论时间分析-折线图 3.3.3 点赞数分布-直方图 3.3.4 评论内容-情感分布饼图 3.3.5 评论内容-词云图 四、演示视频 五、附完整源码 一、背景介绍 您好…

    2023年3月31日
    00
  • 【Python爬虫技巧】快速格式化请求头Request Headers

    你好,我是 @马哥python说 。我们在写爬虫时,经常遇到这种问题,从目标网站把请求头复制下来,粘贴到爬虫代码里,需要一点一点修改格式,因为复制的是字符串string格式,请求头需要用字典dict格式:下面介绍一种简单的方法。首先,把复制到的请求头放到一个字符串里: # 请求头 headers = “”” Accept: text/html,applica…

    2023年4月2日
    00
合作推广
合作推广
分享本页
返回顶部