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 = [str(i) for i in contents if "可以" in str(i)]

关键词:这个
contents = (df['留言内容']).tolist()key_list = [str(i) for i in contents if "这个" in str(i)]

分析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 & 每天留言排名
分析辰哥每月发文情况
最后辰哥悟出了一个道理:要想留言多又好,实用与热点少不了。
Python分析【公众号】历史评论,看看大家的留言情况!的更多相关文章
- Python微信公众号开发—小白篇
本文面向想通过Python学习公众号开发的同学.一站式解决新手开发微信公众号遇到的所有问题. 为了防止我的文章被到处转载,贴一下我的公众号[智能制造专栏],欢迎大家关注. github仓库地址http ...
- Python技术公众号100天了
公众号100天了,是个值得一提的日子! 我从2017年10月31日开始做这个公众号,到今天2018年2月7日,差不多100天时间 .虽然公众号很早就申请了,但直到去年10月31日,我才有真正把这个公众 ...
- Python微信公众号开发—小白篇(1)
本文面向想通过Python学习公众号开发的同学.一站式解决新手开发微信公众号遇到的所有问题. 为了防止我的文章被到处转载,贴一下我的公众号[智能制造社区],欢迎大家关注. github仓库地址http ...
- python爬虫公众号所有信息,并批量下载公众号视频
前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者: 数据分析实战 PS:如有需要Python学习资料的小伙伴可以加点击 ...
- Python微信公众号开发
最近老大叫我学习开发微信,试着玩了下.网上查了下文档.有点过时. 简单步骤: 1)申请服务器并完成环境配置 去腾讯云购买云服务器.当然你也可以购买其他产品,比如阿里云.因为我是学生,有优惠110一年. ...
- Python微信公众号教程基础篇——收发文本消息
1. 概述: 在本篇教程中,你将学会使用华为云弹性云服务器(以下简称 ECS)搭建微信公众号处理后台,使用Python语言编写对应的微信消息处理逻辑代码,接收从微信服务端转发过来的消息,并返回处理结果 ...
- [Python] 微信公众号开发 Python3
搭建服务 开通一个阿里云ecs,安装python3及需要的包(参考下方官方文档) 将py文件保存在ecs上,运行 在本地访问阿里云的IP地址 能完成这步说明网络没问题 server.py 1 # -* ...
- Python 微信公众号发送消息
1. 公众号测试地址 https://mp.weixin.qq.com/debug/cgi-bin/sandboxinfo?action=showinfo&t=sandbox/index 2. ...
- python微信公众号开发学习记录
网上有很多微信公众号的开发教程,但是都是好几年前的了,而且很多都是抄袭其他人的,内容几乎一模一样.真的无语了.只好自己总结一下开发的一些简单流程. 一先去注册个微信公众号,这个就不详细说了, 二登录后 ...
- Appium + python - weixin公众号操作
from appium import webdriverfrom time import sleep desired_caps = { "platformName":"A ...
随机推荐
- HAProxy之三----keepalived配合脚本对HAProxy、ping网关实现高可用检测
调用脚本参数含义 vrrp_script<SCRIPT_NAME> { #定义一个检测脚本,在global_defs之外配置 script <STRING>|<QUOTE ...
- JavaEE 学大数据是否掌握 JavaSE 和 Linux 就够了?
引言 如果你是学习大数据的童靴,可能经常在网上看到一些公众号或博客告诉你,学习大数据基础部分只需要掌握 JavaSE 和 Linux 就够了,至于 JavaWeb 和 JavaEE 简单了解一下就可以 ...
- STM32进阶日志1
一 工程习惯 ①必须模块化编程-一个功能一个CH分开,一个对象一个结构体; ②习惯使用bsp.c/bsp.h,BSP板级支持包源文件; ③多使用#define 来定义IO口与硬件相关特性,方便修改; ...
- tomcat---starup.bat点击窗口自动关闭
- Docker学习(14) Docker容器的数据管理
Docker容器的数据管理 Docker容器的数据卷 重要: Docker的数据卷容器 Docker数据卷的备份和还原
- NVIDIA Tensor Cores解析
NVIDIA Tensor Cores解析 高性能计算机和人工智能前所未有的加速 Tensor Cores支持混合精度计算,动态调整计算以加快吞吐量,同时保持精度.最新一代将这些加速功能扩展到各种工作 ...
- 简化可视SLAM应用程序的开发
简化可视SLAM应用程序的开发 Easing the development of visual SLAM applications 同步定位和映射(SLAM)描述了一个设备(如机器人)使用传感器数据 ...
- 计算机网络-ip分类
本网络--网络号全是0(0000 0000)的IP地址是保留地址,意思是"本网络". 环回地址--网络号是127(0111 1111)的IP地址也是保留地址,作为本地环回软件测试. ...
- QT基本数据类型
因为Qt是一个C++框架, 因此C++中所有的语法和数据类型在Qt中都是被支持的, 但是Qt中也定义了一些属于自己的数据类型, 下边给大家介绍一下这些基础的数类型. QT基本数据类型定义在#inclu ...
- NX二次开发-获取WCS标识
函数:UF_CSYS_ask_wcs() 函数说明:获取工作坐标系对象的标识. 用法: 1 #include <uf.h> 2 #include <uf_csys.h> 3 e ...