df = df.copy()
# 修改数值
df.loc[df.gender == ‘0’, ‘gender’] = ‘未知’
df.loc[df.gender == ‘1’, ‘gender’] = ‘男性’
df.loc[df.gender == ‘2’, ‘gender’] = ‘女性’
# 根据性别分组
gender_message = df.groupby([‘gender’])
# 对分组后的结果进行计数
gender_com = gender_message[‘gender’].agg([‘count’])
gender_com.reset_index(inplace=True)
# 饼图数据
attr = gender_com[‘gender’]
v1 = gender_com[‘count’]
# 初始化配置
pie = Pie(init_opts=opts.InitOpts(width=“800px”, height=“400px”))
# 添加数据,设置半径
pie.add(“”, [list(z) for z in zip(attr, v1)], radius=[“40%”, “75%”])
# 设置全局配置项,标题、图例、工具箱(下载图片)
pie.set_global_opts(title_opts=opts.TitleOpts(title=“抖音大V性别分布情况”, pos_left=“center”, pos_top=“top”),
legend_opts=opts.LegendOpts(orient=“vertical”, pos_left=“left”),
toolbox_opts=opts.ToolboxOpts(is_show=True, feature={“saveAsImage”: {}}))
# 设置系列配置项,标签样式
pie.set_series_opts(label_opts=opts.LabelOpts(is_show=True, formatter=“{b}:{d}%”))
pie.render(“抖音大V性别分布情况.html”)
02 点赞数
点赞数TOP10,除了「小团团」和「毒舌」,其他都是新闻媒体类的大V。
今年因为疫情,有很多新闻在抖音上都是第一时间传播,所以影响力比较大,点赞也就比较多了。
记得「四川观察」还被评论区调侃为四处观察,意思是发布消息非常快。
好奇为什么会有100万点赞数的大V,小F的抖音号都有20w+的赞。
最后发现是第三方监测收录的问题,下次可以直接剔除这批数据。
点赞破亿的有500多个大V,1000万到5000万点赞数的大V人数最多。
可视化代码如下。
def create_likes(df):
# 排序,降序
df = df.sort_values(‘likes’, ascending=False)
# 获取TOP10的数据
attr = df[‘name’][0:10]
v1 = [float(‘%.1f’ % (float(i) / 100000000)) for i in df[‘likes’][0:10]]
# 初始化配置
bar = Bar(init_opts=opts.InitOpts(width=“800px”, height=“400px”))
# x轴数据
bar.add_xaxis(list(reversed(attr.tolist())))
# y轴数据
bar.add_yaxis(“”, list(reversed(v1)))
# 设置全局配置项,标题、工具箱(下载图片)、y轴分割线
bar.set_global_opts(title_opts=opts.TitleOpts(title=“抖音大V点赞数TOP10(亿)”, pos_left=“center”, pos_top=“18”),
toolbox