Python分析6625条视频,告诉你“打工人”凭什么能刷爆全网


 CDA数据分析师 出品  

作者:Mika

数据:真达  

后期:Mika

【导读】

今天教大家用Python分析B站的“打工人”视频。公众号后台,回复关键字“打工人”获取完整数据。

Show me data,用数据说话

今天我们聊一聊 Python分析“打工人”

点击下方视频,先睹为快:

最近,“打工梗”在朋友圈持续爆火,没有人能避开来自工友的贴心问候——“早安,打工人”,与此同时“打工人”的表情包也席卷全网,铺天盖地,到处吟唱着积极向上的打工人语录。

“累吗?累就对了,舒服是留给有钱人的。早安,打工人!冷吗?冷就对了,温暖是留给开小轿车的人。早安,打工人!”

相比于先前带点“丧”的社畜梗,打工梗用昂扬积极的心态去对抗工作的焦虑,这些打工人语录带着自嘲,也是认清生活本质的解压方式,用较为轻松接地气的玩梗心态,迎接每一天的新工作。

打工梗究竟为什么突然这么火呢?之前小z在《打工人分析简报》中已经分析了各个平台打工人话题的相关数据,我们从中也受到了些启发。

今天我们就来主要分析一下B站上“打工人”的相关视频,看看这6625个视频的背后,打工梗凭什么突然刷屏网络。

我们使用Python获取,技术分析流程分为以下三个步骤:

  • 网络数据获取

  • 数据读入和数据清洗

  • 数据可视化分析

爬虫部分代码暂略,首先导入分析所需的包并读入数据集,原数据集一共包含6625个样本,7个字段,字段含义为:分区标签、视频标题、上传时间、观看数、弹幕数、up主、视频url。

01

数据读入

# 导入包
import numpy as np 
import pandas as pd 
import matplotlib.pyplot as plt 
# 读入数据
df = pd.read_excel('./data/B站打工人视频10-28.xlsx')
df.head()
print(df.shape) 
(6625, 7)

02

 数据预处理

此部分我们初步对原始数据进行处理,其中包含:

  • 去除重复值

  • view_num和danmu:单位转换

  • 筛选数据

处理之后的数据如下所示:

def transform_unit(x_col):
 """
 功能:转换数值型变量的单位
 """
 # 提取数值
 s_num = df[x_col].str.extract('(\d+\.*\d*)').astype('float')
 # 提取单位
 s_unit = df[x_col].str.extract('([\u4e00-\u9fa5]+)') 
 s_unit = s_unit.replace('万', 10000).replace(np.nan, 1) 
 s_multiply = s_num * s_unit
 return s_multiply
# 去重
df = df.drop_duplicates()

# 删除列
df.drop('video_url', axis=1, inplace=True)

# 转换单位
df['view_num'] = transform_unit(x_col='view_num') 
df['danmu'] = transform_unit(x_col='danmu')

# 筛选时间
df = df[(df['upload_time'] >= '2020-09-01') & (df['title'].astype('str').str.contains('打工人'))] 
df.head() 

03

数据可视化分析

回复关键字“打工人
获取本期详细数据和代码

首先导入所需包,其中jieba用于中文分词,pyecharts用于绘制动态可视化图形,stylecloud包用于绘制词云图。关键部分代码如下:

import jieba 
from pyecharts.charts import Bar, Line, Pie, Map, Scatter, Page
from pyecharts import options as opts 
from pyecharts.globals import SymbolType, WarningType
WarningType.ShowWarning = False

01 打工人视频发布热度走势图

可以看到“打工人”相关视频首先出现在2020年9月5日,最初的一个月还没有引起太大的水花。在一个月后,随着打工梗逐渐深入人心,B站相关视频也出现了爆点。

10月16日,up主“老摸鱼艺术家”的《加油!打工人!》播放量突破350万。几天后,10月22日,up主“三Lu有毒”的视频《早安,打工人!》更是加上了各种打工人优秀语录,同时配上魔性的画面和声音,直接在B站爆火,目前该视频播放量已突破913万。

随后“打工人”的视频如雨后春笋般涌现,单10月27日一天就有292条视频发布。

time_num = df.upload_time.value_counts().sort_index() 
time_num[:5] 
2020-09-05 1
2020-09-08 1
2020-09-09 1
2020-09-12 1
2020-09-13 1
Name: upload_time, dtype: int64
# 条形图
line1 = Line(init_opts=opts.InitOpts(width='1350px', height='750px'))
line1.add_xaxis(time_num.index.tolist()) 
line1.add_yaxis('', time_num.values.tolist(), 
 markpoint_opts=opts.MarkPointOpts(data=[opts.MarkPointItem(type_='min'), 
  opts.MarkPointItem(type_='max')])
   ) 
line1.set_global_opts(title_opts=opts.TitleOpts(title='打工人视频发布热度走势图', pos_left='40%'), 
 xaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(rotate='90')),
 visualmap_opts=opts.VisualMapOpts(max_=int(time_num.max()), is_show=False),
  ) 
line1.set_series_opts(linestyle_opts=opts.LineStyleOpts(width=3), 
 label_opts=opts.LabelOpts(is_show=False)
   )
line1.render() 

02 不同分区的视频发布数量

从视频分区中可以看到,生活区以56.6%的比重占据了半壁江山。

03 不同分区的视频发布播放量

播放量方面也是生活区一枝独秀,累计达到1393万。

04 最高播放的Top10视频

那么都是哪些“打工人”视频播放量最高呢?

我们分析整理了播放量前十的视频,播放量第一是up主“三Lu有毒”的《早安,打工人!》,截止到发稿播放量已达到913万。第二是up主“老摸鱼艺术家”的《加油!打工人!》,截止到发稿播放量已达到357万。

接下来我们对播放量第一第二的“打工人”视频弹幕进行分析,看看大家都在说些什么。

05 早安,打工人!弹幕词云

弹幕中出现最多的就是“泪目”、“工人”。其中那句魔性的“靠恁娘是河南人”,也是引起了不少弹幕。魔性的狗子,激昂的语调也是让人听着十分上头,让人忍不住每天一遍,对自己说上一声“早安,打工人!”

06 《加油,打工人!》弹幕词云

“加油”、“打工人”、“真实”等都是妥妥的高频词。配上最近常被up用来二次创造的动画片《校园小子》,有“文艺复兴”那味儿了。

07 打工人标题词云图

我们最后对打工人视频出现的标题也进行了词云整理。发现标题中除了“打工人”,“早安”、“晚安”、“加油”、“日常”等正能量的词特别多,同时“快乐”、“人上人”等词也在标题中常常出现。

结语

人人都不爱打工,但人人都是打工人。

虽然这些打工人的段子里多少带着些对生活压力的自嘲和调侃,而最火的那句“早安打工人”里,怀着的也还是对新一天的期望。

加油吧,打工人!

关注CDA数据分析师公众号
回复关键字“打工人
获取详细数据代码

CDA数据分析师 

本文出品:CDA数据分析师(ID: cdacdacda)

(0)

相关推荐