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

大数据DT

共 3939字,需浏览 8分钟

 ·

2020-11-10 22:16


导读:今天教大家用Python分析B站的“打工人”视频。


作者:Mika,数据:真达,后期:Mika
来源:CDA数据分析师(ID: cdacdacda)



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


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

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


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


打工梗究竟为什么突然这么火呢?之前小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) 
(66257)


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

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


可以看到“打工人”相关视频首先出现在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() 

2. 不同分区的视频发布数量


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

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


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

4. 最高播放的Top10视频


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

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

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

5. 早安,打工人!弹幕词云



弹幕中出现最多的就是“泪目”“工人”。魔性的狗子,激昂的语调也是让人听着十分上头,让人忍不住每天一遍,对自己说上一声“早安,打工人!”

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


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

7. 打工人标题词云图


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


结语

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

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

加油吧,打工人!


公众号后台对话框回复关键字源代码,可获取详细数据及代码。


划重点?


干货直达?


更多精彩?

在公众号对话框输入以下关键词
查看更多优质内容!

PPT | 读书 | 书单 | 硬核 | 干货 | 讲明白 | 神操作
大数据 | 云计算 | 数据库 | Python | 可视化
AI | 人工智能 | 机器学习 | 深度学习 | NLP
5G | 中台 | 用户画像 1024 | 数学 | 算法 数字孪生

据统计,99%的大咖都完成了这个神操作
?


浏览 53
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报