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 ...
随机推荐
- 针对Tab键不能使用解决办法(Linux系统)
Tab键在装Linux操作系统时,最小化安装没有安装能使用Tab键的安装包,Tab键就无法使用,但命令和本该有的目标也有. 这时就需要安装bash-completion包.,废话不多说,直接上! 一. ...
- python基础之面向对象(一)(概念、实例、魔法方法)
一.面向对象概念理解 1.面向对象和面向过程 面向过程:核心过程二字,过程即解决问题的步骤,就是先干什么后干什么 基于该思想写程序就好比在这是一条流水线,是一种机械式的思维方式 优点:复杂的过程流程化 ...
- exit()和_exit()的区别
版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/HAHAandHEHE/article/de ...
- Centos6.5 修改主机名(hostname)
centos6需要修改两处:一处是/etc/sysconfig/network,另一处是/etc/hosts,只修改任一处会导致系统启动异常.首先切换到root用户. /etc/sysconfig/n ...
- 【补档_STM32单片机】脉搏波采集显示硬件设计
一.脉搏波简介 脉搏一般情况下指的都是动脉脉搏.每分钟的脉搏次数称为脉率,正常情况下与心率是一致的.心脏的一次收缩和舒张成为一个心动周期.在每个心动周期内,心室的收缩和舒张会引起脉内压力的周期性波 ...
- 四:net core(.NET 6)使用Filter过滤器拦截webapi方法
Filter的基本用法 代码在最下方 使用filter过滤器,来实现拦截接口信息.咱们先新建一个项目,在原有的webapi上面,选择添加项目,添加一个类库项目: 我起个名字,就叫 Wsk.Core.F ...
- 微服务系列(二)GRPC的介绍与安装
微服务系列(二)GRPC的介绍与安装 1.GPRC简介 GRPC是Google公司基于Protobuf开发的跨语言的开源RPC框架.GRPC基于HTTP/2协议设计,可以基于一个HTTP/2链接提供多 ...
- pytest + allure
参考allure官网: https://docs.qameta.io/allure/#_pytest 1.使用命令pip install pytest-allure安装 注意:我遇到的一个现象,用命令 ...
- 『动善时』JMeter基础 — 36、JMeter接口关联【正则表达式提取器】
目录 1.正则表达式提取器介绍 2.正则表达式提取器界面详解 3.正则表达式提取器的使用 (1)测试计划内包含的元件 (2)请求一界面内容 (3)正则表达式提取器界面内容 (4)请求二界面内容 (5) ...
- 工作流中的数据持久化详解!Activiti框架中JPA的使用分析
Activiti中JPA简介 可以使用JPA实体作为流程变量, 并进行操作: 基于流程变量更新已有的JPA实体,可以在用户任务的表单中填写或者由服务任务生成 重用已有的领域模型,不需要编写显示的服务获 ...