对papi家的大小咪视频数据进行探索及可视化

本文对papi家的大小咪在b站的视频数据进行探索,发现短视频更受欢迎,小咪在标题中提及频率高,粉丝更喜欢小咪的视频,10-14点间投稿播放量较高,且papi较少参加b站活动。
摘要由CSDN通过智能技术生成

papi酱,一位集美貌与才华于一身的女子,2016年依靠自拍的搞笑视频迅速走红,成为了”2016年第一网红”。 papi酱的走红刷新了互联网自媒体时代的很多纪录,但她似乎又没有改变太多,自拍依旧不修图,时不时黑下老胡,没有工作时就躺在家里撸猫。2017年她开始往b站上传她家两只猫咪的视频。目前“papi家的大小咪”这个账号在b站已经获得了72.2万的订阅,成为“bilibili 知名萌宠UP主”。

这篇文章主要是针对papi家的大小咪在bilibili上的视频数据进行探索,目的是对大小咪的受欢迎程度,papi酱对大小咪的偏爱程度,视频更新频率以及视频长度等进行探索及可视化。

下面先来看看分析对象——papi家的大小咪长什么样
(温馨提示:白色的是大咪,黄色的是小咪)
它们俩性格各异:大咪对papi时刻保持高冷但在对面老胡的时候还是一只粘人小猫咪,喜欢吃东西;而小咪则是一只活泼且话唠的小猫咪,极其喜欢粘着papi。
在这里插入图片描述

一、数据集

本次数据来自 papi家的大小咪在bilibili发布的从2017年10月9日至2019年9月21日的共237条视频信息。

二、初探数据

导入数据并查看数据的基本情况,通过对数据的描述我们可以发现,数据共有20个字段,244行,但是存在列名重复录入,subtitle、copyright、description等数据缺失较多的情况,created是时间戳需要转换为日期格式。

import pandas as pd
import numpy as np
import MySQLdb
conn = MySQLdb.connect(host='localhost', user='dbname', passwd='dbpwd',port=3306, db='papi', charset="utf8")
cur = conn.cursor()
papi_df = pd.read_sql('select * from papi', con=conn)
papi_df.info()
papi_df.isnull().sum().sort_values(ascending=False)
papi_df.head()

在这里插入图片描述
在这里插入图片描述
(由于title没有缺失但是字数太多影响观察先暂时去掉,待会儿再单独进行观察)

papi_df.drop('title',axis=1).sample(5)

在这里插入图片描述

单独观察title列,发现“papi酱的大小咪”和“papi家的大小咪”在标题处重复出现,会对后面统计“大咪”、“小咪”等的词频会造成影响。

papi_df['title'].unique()

在这里插入图片描述
目前对数据的处理思路是:
1)调整数据类型:由于一开始用到了str来导入,打算后期再更换格式,需要调整数据类型;

2)选择部分子集:因为有部分列在数据分析中不需要用到;

3)格式一致化:title“papi酱的大小咪”和“papi家的大小咪”在标题处重复出现等问题,需要去除;

4)消灭空值:subtitle、copyright和description都出现了NaN值,需要去掉。

数据清洗

选择部分子集,并删除重复行

papi_df=papi_df.drop(['author','copyright','hide_click','is_pay','is_union_video','mid','pic','review','typeid','description','subtitle'],axis=1)
papi_df=papi_df.drop_duplicates(keep=False)

调整数据类型并对部分数据进行清洗

papi_df['datetime']=papi_df['created'].apply(lambda x: pd.to_datetime(x,unit='s'))
papi_df['comment']=papi_df['comment'].astype('int')
papi_df['favorites']=papi_df['favorites'].astype('int')
papi_df['video_review']=papi_df['video_review'].astype('int')
papi_df['play']=papi_df['play'].astype('int')
papi_df['datetime']=papi_df['datetime'].astype('str')
papi_df['date']=papi_df['datetime'].apply(lambda x:x.split(' ')[0])
papi_df['date']=pd.to_datetime(papi_df['date'],format='%Y-%m-%d',errors='coerce')
papi_df['hour']=papi_df['datetime'].apply(lambda x:x.split(' ')[1].split(':')[0])
papi_df['length']=papi_df['length'].apply(lambda x:x.split(':')[0])

由于删除重复行后索引不连续了,重设一下索引

papi_df=papi_df.reset_index(drop = True)

由于”papi酱的大小咪“等标题前缀的出现会影响到后续对视频标签的分类,这里对标题列清理一下

def cut_title(title):
    tList=[]
    for value in title:
        if value.split(' ')[0]=='papi酱的大小咪':
            tNew=''.join(value.split(' ')[1:])
            tList.append(tNew)
        elif value.split(' ')[0]=='papi家的大小咪':
            tNew=''.join(value.split(' ')[1:])
            tList.append(tNew)
        elif value.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值