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

本文通过对抖音9月21日至10月30日的数据分析,揭示了平台用户、播放量、作者及作品的变化趋势。发现活动期间播放量、用户量、作者量短暂激增,可能存在机器人账号;热门视频时长集中在7-10s,晚上19点至次日5点为投稿黄金时段;背景音乐选择热门能提升播放量,但不直接影响点赞与完播率。建议加强内容质量,打击机器人,优化推荐算法,关注头部创作者,同时考虑多元化市场推广。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

项目说明

数据是抖音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 pd
import numpy as np
import time
from pyecharts.charts import Line,Pie,Grid,Bar,Page
import 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.nan
data.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.hour
data['date']=data.real_time.dt.date
data=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
评论 25
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值