抖音数据分析(基于播放、点赞、投稿、背景音乐)

抖音trouble尖叫音乐 项目说明

数据是抖音9-21到10-30日间的交互记录,年份已做特殊处理(显示为2067) 具体字段说明如下: ·第一列没标(像是顺序ID,但是不连续,估计是数据集有被筛选处理过) ·uid:用户id ·user_city:用户所在城市 ·item_id:作品id ·author id:作者id ·item_city:作品城市 ·channel:观看到该作品的来源 ·finish:是否浏览完作品 ·like:是否对作品点赞 ·music id:音乐id ·device:设备id ·time:作品发布时间 ·duration time:作品时长s

分析目的:对网红、平台运营提出建议

数据处理 import pandas as pdimport numpy as npimport timefrom pyecharts.charts import Line,Pie,Grid,Bar,Pageimport pyecharts.options as opts data=pd.read_table(‘douyin.txt’,header=None)#补充值字段名称data.columns = [‘uid’,’user_city’,’item_id’,’author_id’,’item_city’,’channel’,’finish’,’like’,’music_id’,’device’,’time’,’duration_time’]data.head()

data.info()

在这里插入图片描述

缺失值处理

不存在缺失值

data.isnull().sum()

在这里插入图片描述

重复值处理 #删除重复值print(‘重复值个数:’,data.duplicated().sum())data.drop_duplicates(inplace=True)

重复值个数: 4924

#数据是进行过脱敏的数据,无法观察原有情况,不过可以推断其中的-1是缺失值,转换后直接删除即可。data[data==-1] = np.nandata.dropna(inplace=True)#本次分析中不会使用到device列,和多余Unnamed: 0列,删除del data[‘device’] 数据转换 #time列是时间戳,修改成正常时间data.time=data.time.astype(‘str’)\ .apply(lambda x:x[1:])\ .astype(‘int64’)#将时间戳转换为普通的日期格式real_time = []for i in data[‘time’]: stamp = time.localtime(i) strft = time.strftime(“%Y-%m-%d %H:%M:%S”, stamp) real_time.append(strft) data[‘real_time’] = pd.to_datetime(real_time)#time列无用了,删除del data[‘time’]#为数据添加H:小时,和date:日期列data[‘H’] = data.real_time.dt.hourdata[‘date’]=data.real_time.dt.datedata=data[data.real_time>pd.to_datetime(‘2067-09-20’)]data.head()

在这里插入图片描述

数据分析 日播放量、用户量、作者量、投稿量 #日播放量ids=data.groupby(‘date’)[‘date’].count()#日用户量uids=data.groupby(‘date’)[‘uid’].nunique()#日作者量author=data.groupby(‘date’)[‘author_id’].nunique()#日作品量items=data.groupby(‘date’)[‘item_id’].nunique() #日播放量line1 = ( Line() .add_xaxis(ids.index.tolist()) .add_yaxis(‘日播放量’, ids.values.tolist()) .set_global_opts( title_opts=opts.TitleOpts(title=’日播放量变化趋势’,pos_left=”20%”), legend_opts=opts.LegendOpts(is_show=False), yaxis_opts=opts.AxisOpts(name=’日播放量’), ) .set_series_opts (label_opts=opts.LabelOpts(is_show=False)))#日用户量line2 = ( Line() .add_xaxis(uids.index.tolist()) .add_yaxis(‘日用户量’, uids.values.tolist()) .set_global_opts( title_opts=opts.TitleOpts(title=’日用户量变化趋势’,pos_right=”20%”), legend_opts=opts.LegendOpts(is_show=False), yaxis_opts=opts.AxisOpts(name=’日用户量’), ) .set_series_opts (label_opts=opts.LabelOpts(is_show=False)))#日作者量line3 = ( Line() .add_xaxis(author.index.tolist()) .add_yaxis(‘日作者量’, author.values.tolist()) .set_global_opts( title_opts=opts.TitleOpts(title=’日作者量变化趋势’,pos_top=”50%”,pos_left=”20%”), legend_opts=opts.LegendOpts(is_show=False), yaxis_opts=opts.AxisOpts(name=’日作者量’), ) .set_series_opts (label_opts=opts.LabelOpts(is_show=False)))#日作品量line4 = ( Line() .add_xaxis(items.index.tolist()) .add_yaxis(‘日投稿量’, items.values.tolist()) .set_global_opts( title_opts=opts.TitleOpts(title=’日投稿量变化趋势’,pos_top=”50%”, pos_right=”20%”), legend_opts=opts.LegendOpts(is_show=False), yaxis_opts=opts.AxisOpts(name=’日投稿量’), ) .set_series_opts (label_opts=opts.LabelOpts(is_show=False)))grid1 = ( Grid() .add(line1, grid_opts=opts.GridOpts(pos_bottom=”60%”,pos_right=”55%”)) .add(line2, grid_opts=opts.GridOpts(pos_bottom=”60%”,pos_left=”55%”)) .add(line3, grid_opts=opts.GridOpts(pos_top=”60%”,pos_right=”55%”)) .add(line4, grid_opts=opts.GridOpts(pos_top=”60%”,pos_left=”55%”)))grid1.render_notebook()

在这里插入图片描述 在10-21日之前日播放量,日用户量,日作者量,日投稿量随时间的变化趋势基本一致:平稳增长; 在10-21到10-30时间段内,各指标均先出现巨大增长,后趋近平稳,再回落到正常水平值,猜则该时间点平台有进行活动推广。

不过可以明显看出来用户量并没有播放量上涨的幅度夸张。且作者和投稿数量也比用户量上涨得迅速,初步猜测是有人利用平台规则漏洞,创建大量新号,并使用机器人刷单牟利。 不过遗憾由于没有之后更长时期的数据,难以评估此次活动的效果。不过可以尝试检查出其中的机器人帐号。

exception=data.groupby([‘uid’,’date’])[‘uid’].count()[data.groupby([‘uid’,’date’])[‘uid’].count()>1].unstack().Texception.index=exception.index.astype(‘datetime64[ns]’)exception.head()

在这里插入图片描述

#(预测)活动开始前后每人平均观看量的变化倍数times = exception.query(‘date>datetime(2067,10,21) and datedatetime(2067,10,21) & real_time


比丘资源网 » 抖音数据分析(基于播放、点赞、投稿、背景音乐)

发表回复

提供最优质的资源集合

立即查看 了解详情