B站科普区优质科普(技术区)UP主挖掘分析

B站科普区优质UP主挖掘分析

爬虫的代码(在这里感谢贾老师)有兴趣的可以私聊我~
数据获取方式:

公众号:YOLO的学习进阶日常
回复:B站
注意:本数据集没有粉丝数,粉丝数需要另外一个API,这里我很多小伙伴都已经写过怎么爬去粉丝数,我就不赘述了

明确目的

首先在数据分析之前我们要知道我们拿这些来干嘛???
很简单!想去B站关注一些高质量科普类(技术)的UP来帮助我学习咯~

读取数据

我们只需要科普区的,提取关键列“科学科普”,提取我们想用来进行分析的关键字段

注意:数据集303M,爬去了很多,不止科普区的,还有其他的,我这里只是提取了部分数据分析而已

import pandas as pd
data=pd.read_csv('./tech.csv')
sci=data.loc[data['分区']=='科学科普']
sci=sci[['分区','author','coins','danmu','favorite','likes','reply','share','view','title','date']]
sci.head()

head默认只能提取前10

RFM——IFL模型

我们怎么获得想要的成员呢!相信很多朋友都知道RFM模型用来用户画像吧,因此我们同理使用RFM的原理,建立一个IFL模型

I:interaction_rate 反应的是平均每个视频的互动率
F:Frequence 表示的是每个视频的平均发布周期
L:like_rate 表示的是统计时间内发布视频的平均点赞率

IFL模型是对视频质量进行评估和分析

F

F是反映视频周期的,和RFM模型一样,也是反应频率的,这里就是反应更新的频率,经常脱更的我可不行!

首先,肯定是视频数要大于5个以上的啊,不然我关注她图 啥啊,图她比我青春靓丽吗

count=sci.groupby("author")['分区'].count().reset_index()
count.columns=['author','times']
com_m=pd.merge(count,sci,on='author',how='inner')
com=com_m[com_m['times']>=5]
com

在这里插入图片描述
然后咋们就要开始算平均的更新间隔啦~更新时间太长了,不行不行,我等不起,那就是越小越好?不不不 !如果只有0咋办,那肯定就是转发啊,不行不行这个不行。

import datetime as dt
com['date']=pd.to_datetime(com.date)
last=com.groupby("author")['date'].max()
late=com.groupby("author")['date'].min()
F=round((last-late).dt.days/com.groupby("author")['date'].count()).reset_index()
F.columns=['author','F']
F=pd.merge(com,F,on='author',how='inner')
F.describe()
F

在这里插入图片描述
这样看不够直观,用describe()来看看到底F是个啥样
在这里插入图片描述
果然,就有那种很喜欢转发的,大家看到F下的那个0了吗!找到它,删除!用啥方法找到它(索引)呢?当然是idxmin这个函数啦~

F.loc[F['F'].idxmin()]

在给他一次机会,看看这位UP其他特征怎么样
在这里插入图片描述
emmmmmm其他不怎么样,好啦,都是转载,这位UP很遗憾要被我删除了

F=F.loc[F['F']>0]
F.describe()

F值求到了,接下来,看看I值的效果怎么样,看一下大家没有没有跟这个UP互动啊,互动多的话应该还是可以证明UP是个很温柔很美好的人吧嘻嘻

I

用什么指标可以反应I值呢?
我们可以看看他的回复(reply)评论之类的,看他们的总和!越多越好

danmu=F.groupby('author')['danmu'].sum()
reply=F.groupby('author')['reply'].sum()
view=F.groupby("author")['view'].sum()
count=F.groupby("author")['date'].count()
I=round((danmu+reply)/view/count*100,2).reset_index()
I.columns=['author','I']
I=pd.merge(F,I,on='author',how='inner')
I

在这里插入图片描述

L值

点赞率有多重要,咳咳暗示大家都给我点赞评论啊哈哈哈,点赞率可以反应大家对这个UP 视频的认可度,L值当然是越大越好

I['xixi']=(I['likes']+I['coins']*2+I['favorite']*3)/I['view']*100
L=(I.groupby("author")['xixi'].sum()/I.groupby("author")['date'].count()).reset_index()
L.columns=['author','L']
IFL=pd.merge(I,L,on='author',how='inner')
IFL=IFL[['author','I','F','L']]
IFL

在这里插入图片描述

建模

你以为IFL算出来就可了?那怎么衡量他们的好坏呢?当然就是,建立指标啦。
三个指标都以均值为一个界限,先评分,F值如果大于均值,那就是,emmmm脱更,给他个0不为过吧,我们要严格一点啊现在有可以选择的UP哈哈哈,大于均值的就设为1;其他两个指标就是大于均值就设置为1,小于均值就是设置为0

评分

首先给他们,画个阶段出来

IFL['I_score']=pd.cut(IFL['I'],bins=[0,0.03,0.06,0.11,1000],labels=[1,2,3,4],right=False).astype(float)
IFL['F_score']=pd.cut(IFL['F'],bins=[0,7,15,30,90,1000],labels=[5,4,3,2,1],right=False).astype(float)
IFL['L_score']=pd.cut(IFL['L'],bins=[0,5.39,9.07,15.58,1000],labels=[1,2,3,4],right=False).astype(float)
IFL.head()

在这里插入图片描述

均值划分

IFL['I_OK']=(IFL['I_score']>IFL['I_score'].mean())*1
IFL['F_OK']=(IFL['F_score']>IFL['F_score'].mean())*1
IFL['L_OK']=(IFL['L_score']>IFL['L_score'].mean())*1
IFL

在这里插入图片描述

类型划分

IFL['人群数值']=(IFL['I_OK']*100)+(IFL['F_OK']*10)+(IFL['L_OK']*1)
IFL

在这里插入图片描述

def transform_label(x):
    if x==111:
        label='高质量UP主'
    elif x==101:
        label='高质量拖更UP主'
    elif x==11:
        label='高质量内容高深UP主'
    elif x==1:
        label='高质量内容高深托更UP主'
    elif x==110:
        label='接地气活跃UP主'
    elif x==10:
        label='活跃UP主'
    elif x==100:
        label='接地气UP主'
    elif x==0:
        label='还在成长的UP主'
    return label
IFL['人群类型']=IFL['人群数值'].apply(transform_label)
data=IFL[['人群类型','author']]
data=pd.merge(sci,data,on='author',how='inner')
data=data[['author','title','人群类型']]
data=data.drop_duplicates("author").reset_index()
data.to_csv("/media/yefanyefan/新加卷/AA/work/fin/UP.csv",index=False)

好啦~快去根据自己的需求分析自己想关注的UP吧~

  • 5
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
车辆ECNR技术是指车辆的电子控制网络系统(Electronic Control Network System),它是现代汽车中的一项重要技术。ECNR技术通过将车辆上的各个电子控制单元(ECU)连接在一起,实现了车辆内部各个系统之间的信息交互和数据共享。 ECNR技术要功能包括以下几个方面: 1. 数据传输和通信:ECNR技术通过CAN(Controller Area Network)总线或其他通信协议,实现了车辆内部各个系统之间的数据传输和通信。这样,不同的系统可以共享信息,实现更高效的协同工作。 2. 故障诊断和维修:ECNR技术可以监测车辆各个系统的工作状态,并通过故障码等方式提供故障诊断信息。这样,维修人员可以更快速地找到故障原因,并进行修复。 3. 功能扩展和升级:ECNR技术可以方便地进行功能扩展和升级。通过软件更新或添加新的电子控制单元,可以为车辆增加新的功能,提升用户体验。 4. 节能环保:ECNR技术可以对车辆进行智能管理,优化各个系统的工作状态,从而提高燃油利用率,减少尾气排放,达到节能环保的目的。 5. 安全性提升:ECNR技术可以实现车辆各个系统之间的信息共享和协同工作,提高车辆的安全性。例如,当车辆发生紧急制动时,ECNR技术可以将制动信号传递给其他系统,如ABS(防抱死制动系统),以提供更快速和准确的制动响应。 总的来说,车辆ECNR技术通过将车辆内部各个系统连接在一起,实现了信息共享和协同工作,提高了车辆的性能、安全性和可靠性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值