上山打老虎 发表于 2021-7-20 18:51:42

Python分析【公众号】历史评论,看看大家的留言情况!


大家好,我是辰哥~~~
辰哥玩公众号有一段时间了,这期文章分析一波读者的留言情况,不仅可以对公众号的各位铁粉一目了然,还可以通过分析的结果对公众号的经营进行更好的规划。如读者留言的内容通常是内容是什么?关注的点是什么等等这些。
分析目录

[*]累计用户留言总数排名
[*]每一篇文章留言总数排名
[*]留言内容词云图
[*]回复内容词云图
[*]分析每月留言总数排名
[*]分析月份留言数top1 & 每天留言排名
[*]分析辰哥每月发文情况
01、预览数据
公众号后台提供数据导出功能,辰哥通过该功能可以一键导出成excel,数据内容如下:(涉及昵称等隐私部分已打码)

下面的数据主要需要用到的数据是红框中的部分(留言者昵称、留言内容、留言时间、回复内容)
import pandas as pd本文源码分析所用到的库如上,pyecharts是可视化库(其中pyechart库是1.9版本)、pandas用于读取excel数据、collections用于累加统计、stylecloud和jieba用于词云图。
#读入数据
df = pd.read_excel("留言导出-Python研究者.xlsx")
02、数据分析 & 可视化
分析1:累计用户留言总数排名
name_counts = df.groupby('留言者昵称')['留言内容'].count().sort_values(ascending=False).reset_index()根据字段留言者昵称,统计每一位用户的留言总数,并进行排序,取出top10。

图中展示的是公众号历史以来用户留言总数的top10。尤其是排名靠前的几位,每次留言大多数都是前排,辰哥真心被感动到了(感动哭了)。
ps:图中的昵称是微信昵称,由于林哥的微信昵称是真名,所以就用林哥代替(平时我称呼他为林哥,哈哈哈)
分析2:每一篇文章留言总数排名
article_counts = df.groupby('文章')['留言内容'].count().sort_values(ascending=False).reset_index()对每一篇文章的评论数进行汇总,根据总数进行排名,取出评论数最多的前top10。

图中右上角的顺序是留言数从高到低,从整体上来看,这些文章要么就是具备实用性,比如识别发票、禁止复制、人像卡通化等,要么就是贴近大家的话题,比如全国大学数据、山河令、明星知识图谱等。通过留言数前top10的文章,辰哥悟出了一个道理:要想留言多又好,实用与热点少不了。
分析3:留言内容词云图
contents = (df['留言内容']).tolist()读取excel中留言内容,因为含有float类型或者其他多种类型的文本,因此通过map(str,contents)转为str类型。方便进行绘制词云图。通过词云图,看看读者留言内容的关键词有哪些?

图上来看,【学习】和【辰哥】这两个高频我可以理解,【这个】和【可以】一般评论内容是什么呢?ok,咱们先看来看一下含有【这个】和【可以】的评论是通常是哪些!
关键词:可以
contents = (df['留言内容']).tolist()key_list =
关键词:这个
contents = (df['留言内容']).tolist()key_list =
分析4:回复内容词云图

分析3看到的是读者的评论关键词词云图,上图是辰哥回复评论的词云图,可以看到辰哥回复的最多的是表情包(离不开表情包),比如、、、。此外还有就是【谢谢】、【学习】、【加油】,看来辰哥也是一个有礼貌、励志的,哈哈哈哈(自夸一下)
分析5:分析每月留言总数排名
data = (df['留言时间']).tolist()分析每一个月的留言总数,统计结果如下:
2021-06 144
2021-05 99
2021-04 96
2021-03 86
2021-07 44
2021-02 26
2020-11 24
2020-12 16
2021-01 14
2020-10 13
2020-09 2
2018-05 1
2020-08 1

从图中数据上来看,从今年2月开始,每月的评论总数逐渐递增(7月还没结束,所以未排第一),这个好像也可以说得通,因为越往后,读者也多,评论数也随之增加。目前一个月评论总数最多是上个月(6月),达到了144条。7月争取原超6月的数据~~~
分析6:分析月份留言数top1 & 每天留言排名
data = (df['留言时间']).tolist()在分析5中,得知2021年6月的评论总数是最多的(144),接着分析该月里,每天的评论数据具体是多少?

可以看到在6月30号的时候评论数最多(刚好万粉的时候,所以评论较多),从整体上来看,一天的评论数均值是6或者7。
分析7:分析辰哥每月发文情况
data = (df['发文时间']).tolist()通过excel中的发文时间,可以统计到辰哥每一个月的发文数量。

图中可以看到辰哥在近几个月(今年3月至今),更新频率保持稳定,大约是每一个月发15篇原创(评论里面仅统计原创文章),相当于是隔天更新一次。
03、小结
辰哥对公众号一直以来的评论进行了一次分析,主要是从7个方面去对评论数据进行了分析 & 可视化~~~
分析目录

[*]累计用户留言总数排名
[*]每一篇文章留言总数排名
[*]留言内容词云图
[*]回复内容词云图
[*]分析每月留言总数排名
[*]分析月份留言数top1 & 每天留言排名
[*]分析辰哥每月发文情况
最后辰哥悟出了一个道理:要想留言多又好,实用与热点少不了。

文档来源:51CTO技术博客https://blog.51cto.com/u_11949039/3055864
页: [1]
查看完整版本: Python分析【公众号】历史评论,看看大家的留言情况!