Python:【B站每周必看】分区数据分析

目录

一、实现目标¶

二、导入数据并处理

1、导包

2、导入数据

3、缺失值与异常值处理

三、数据分析

1、每周必看的总体数据趋势

2、每周必看的分区排行

三、分区特点

四、数据结论


一、实现目标

本项目通过查找B站1-107期《每周必看》栏目相关数据,分析了各个分区在每周必看栏目上的数据,试图简单回答以下问题:

1.B站每周必看的入选标准是什么?

2.不同分区在每周必看栏目上的出现频率?

3.每个分区的视频分别有一些什么数据上的特质?


二、导入数据并处理

1、导包

In [2]:

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
import plotly.express as px

2、导入数据

In [3]:

data = pd.read_excel('/home/mw/input/bbbb8098/week_bilibili_popular.xlsx')

3、缺失值与异常值处理

In [4]:

#无缺失值与异常值
data.isnull().sum()

Out[4]:

F1             0
标题             0
bv号            0
简介            83
动态           309
推荐理由          45
每周必看期数         0
分区             0
子分区            0
up主            0
播放             0
评论             0
收藏             0
硬币             0
点赞             0
分享             0
弹幕             0
全站排行榜最高排名      0
dtype: int64

三、数据分析

1、每周必看的总体数据趋势

In [5]:

#按期数进行统计
data1 = data.copy()
data2 = data1.groupby('每周必看期数').sum()
data2 = data2.reset_index()
data2 = data2.sort_values(by='每周必看期数')

In [6]:

#定义函数,进行数据归一化
def norm(df,col):
    df[col]=(df[col]-df[col].min())/(df[col].max()-df[col].min())

In [7]:

data3 = data2.copy()
norm(data3,'播放')
norm(data3,'评论')
norm(data3,'收藏')
norm(data3,'硬币')
norm(data3,'点赞')
norm(data3,'分享')
norm(data3,'弹幕')

In [8]:

fig=px.line(data3,'每周必看期数',['播放','评论','收藏','硬币','点赞','分享','弹幕'],line_shape='spline')
fig.show()

2040608010000.20.40.60.81variable播放评论收藏硬币点赞分享弹幕每周必看期数value

2、每周必看的分区排行

In [9]:

#各个分区在每周必看栏目中所占比例
import plotly.graph_objects as go
values = data['分区'].value_counts(dropna=False)[:20].keys().tolist()
counts = data['分区'].value_counts(dropna=False)[:20].tolist()
value_dict = dict(zip(values, counts))
fig = go.Figure(data=[go.Pie(labels=values, values=counts)])
fig.show()

22.7%14.6%13.8%9.51%8.08%7.67%7.15%4.75%2.4%1.87%1.83%1.8%1.65%1.65%0.561%生活游戏动画知识影视美食音乐鬼畜资讯动物圈数码娱乐舞蹈时尚国创

In [10]:

fig=px.scatter(data,'点赞','播放',color='分区',opacity=0.7,size=np.ones(len(data)),size_max=10,hover_name='标题')
fig.show()

00.5M1M1.5M2M2.5M3M3.5M4M4.5M010M20M30M40M50M60M70M80M

分区生活影视游戏动画美食时尚音乐动物圈资讯娱乐知识鬼畜数码舞蹈国创点赞播放


三、分区特点

In [11]:

#求各个分区视频相关数据的平均值
data4 = data.copy()
data5 = data4.groupby('分区').mean()
data5 = data5.reset_index()
data5 = data5.sort_values(by='分区')
data6 = data5.copy()
#归一化处理
norm(data6,'播放')
norm(data6,'评论')
norm(data6,'收藏')
norm(data6,'硬币')
norm(data6,'点赞')
norm(data6,'分享')
norm(data6,'弹幕')
data6

Out[11]:

 分区F1每周必看期数播放评论收藏硬币点赞分享弹幕全站排行榜最高排名
0动物圈1154.30000053.2000000.0892560.0000000.0787140.0000000.0000000.1862550.00000012.100000
1动画1452.90760966.4646740.3368250.3652170.5646300.5368050.5051690.2645650.4188817.847826
2国创1162.06666755.6666670.0760890.1322600.3530400.0615330.0236570.1101390.18606413.400000
3娱乐1436.18750065.2708330.1402870.8158800.0265960.0686250.1806800.2028451.00000011.791667
4影视1431.05092664.5370370.1296430.1365550.3652750.2017640.1733010.2700910.21107011.013889
5数码1522.91836768.7959180.2294341.0000000.6699581.0000000.6311770.6342370.50205912.000000
6时尚1432.93181864.3409090.1661230.4078780.7556220.3111150.1782230.3359570.52997411.568182
7游戏1326.48849161.1125320.3521000.4918100.2809680.4723930.3912680.2223080.6446827.470588
8生活1156.42574355.2310230.3789880.5193790.2083710.4528100.5797820.2798070.5404079.031353
9知识1619.98818972.8622050.0000000.4230440.3783970.3250640.2713470.3673830.4280929.665354
10美食1378.21463463.0195120.1720130.0845080.0000000.2621130.2905470.0000000.3095899.682927
11舞蹈1332.68181861.3636360.4805160.4545570.2827990.1492410.0898440.3398820.1115288.977273
12资讯1074.04687551.9687500.1479830.5586160.1507260.0571470.2420850.2932160.26915211.109375
13音乐1308.12041960.7172770.4598670.6814440.7280050.5753570.4779180.5899440.54908110.685864
14鬼畜1198.69291357.0157481.0000000.2210751.0000000.9078661.0000001.0000000.42474611.661417

In [12]:

data6.loc[14:,['分区','播放','评论','收藏','硬币','点赞','分享','弹幕']]

Out[12]:

 分区播放评论收藏硬币点赞分享弹幕
14鬼畜1.00.2210751.00.9078661.01.00.424746

可以看出,鬼畜区的视频在播放、评论、硬币、点赞、分享上都具有显著的优势。

In [13]:

data6.loc[6:6,['分区','播放','评论','收藏','硬币','点赞','分享','弹幕']]

Out[13]:

 分区播放评论收藏硬币点赞分享弹幕
6时尚0.1661230.4078780.7556220.3111150.1782230.3359570.529974

另一方面,时尚区的各项数据中,唯独“收藏”一值非常的高。实际上,这是得益于时尚区的部分健身、锻炼视频,有着非常高的收藏量。


四、数据结论

通过以上的分析,我们可以得出以下一些结论:

1.在45期(2020.1.24)之前,随着B站用户的增多,每周必看栏目上视频的各项数据稳步上升。45期开始,由于疫情原因,加上拜年祭系列的视频,每周必看栏目的数据开始大幅上升,之后再缓慢回落。

2.可以看出,栏目中视频的播放量,在春节、国庆、元旦等假期时会有明显的增幅,这也符合我们的直观感受。

3.在各个分区中,生活、游戏、动画是B站分区里的“三幻神”,在高质量视频的总量上占据绝对优势。

4.鬼畜区的视频,平均播放、收藏、点赞均位居第一位,可见优秀的鬼畜视频很容易就可以达到“破圈”的效果。

5.时尚区的健身视频有着极高的收藏量,应了那句“看了就是做了”的调侃。娱乐区视频评论、弹幕量极多,观众更愿意去分享自己的感受。

OK搞定辽,相关数据集资源有需要的话,欢迎在评论区留言,感谢支持!!

 

  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

濯一一

你的鼓励:我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值