当前位置: 首页 > article >正文

QQ群活跃度分析指南:用Python绘制聊天时间热力图和词云

QQ群活跃度分析指南用Python绘制聊天时间热力图和词云在社群运营和数据分析领域了解群成员的活跃规律和讨论热点是优化运营策略的关键。本文将带你用Python实现三种专业级可视化聊天时间热力图、成员活跃雷达图和话题词云直接回答运营者最关心的三个问题群成员通常在什么时间活跃哪些成员贡献了最多的互动大家都在讨论什么话题1. 数据准备与清洗1.1 获取原始聊天记录从QQ群导出聊天记录为TXT格式原始数据通常包含以下字段2023-05-15 14:30:25 张三(123456) 大家觉得这个方案怎么样 2023-05-15 14:32:10 李四(789012) [图片]1.2 数据清洗关键步骤使用正则表达式提取结构化数据import re import pandas as pd pattern r(\d{4}-\d{2}-\d{2}\s\d{2}:\d{2}:\d{2})\s([^\(])\((\d)\)\s(.*) df pd.DataFrame(re.findall(pattern, open(qq_chat.txt).read()), columns[time, name, qq, content])处理特殊内容# 过滤系统消息 df df[~df[qq].isin([10000, 1000000])] # 转换时间格式 df[time] pd.to_datetime(df[time]) # 提取日期和时间组件 df[date] df[time].dt.date df[hour] df[time].dt.hour df[weekday] df[time].dt.weekday 1 # 1-7表示周一到周日2. 时间分布热力图分析2.1 构建小时-星期矩阵heatmap_data df.groupby([weekday, hour]).size().unstack()2.2 使用pyecharts绘制热力图from pyecharts import options as opts from pyecharts.charts import HeatMap heatmap ( HeatMap() .add_xaxis([str(i) for i in range(24)]) .add_yaxis( 消息量, [周一,周二,周三,周四,周五,周六,周日], [[d[1], d[0], int(d[2])] for d in heatmap_data.stack().reset_index().values], label_optsopts.LabelOpts(is_showFalse), ) .set_global_opts( title_optsopts.TitleOpts(titleQQ群聊天时间分布热力图), visualmap_optsopts.VisualMapOpts(max_heatmap_data.max().max()), xaxis_optsopts.AxisOpts(name小时), yaxis_optsopts.AxisOpts(name星期), ) ) heatmap.render(heatmap.html)提示热力图中颜色越深的区域表示该时段聊天消息越多是安排群活动的最佳时间窗口3. 成员活跃度雷达图3.1 计算多维活跃指标member_stats pd.DataFrame({ 总消息量: df[qq].value_counts(), 活跃天数: df.drop_duplicates([qq,date]).groupby(qq).size(), 平均发言长度: df.groupby(qq)[content].apply(lambda x: x.str.len().mean()), 互动时段覆盖: df.groupby(qq)[hour].nunique(), 连续活跃: df.groupby(qq)[date].apply( lambda x: x.diff().dt.days.eq(1).cumsum().value_counts().max()) }).fillna(0)3.2 标准化数据并绘制雷达图from sklearn.preprocessing import MinMaxScaler scaler MinMaxScaler() radar_data scaler.fit_transform(member_stats) top_members member_stats.nlargest(5, 总消息量) radar ( Radar() .add_schema( schema[ opts.RadarIndicatorItem(namecol, max_1) for col in member_stats.columns ] ) .add(活跃成员1, [radar_data[member_stats.index.get_loc(i)].tolist() for i in top_members.index[:1]]) .add(活跃成员2, [radar_data[member_stats.index.get_loc(i)].tolist() for i in top_members.index[1:2]]) .set_series_opts(label_optsopts.LabelOpts(is_showFalse)) .set_global_opts(title_optsopts.TitleOpts(title核心成员活跃度雷达图)) )4. 话题词云生成4.1 文本预处理与分词import jieba from collections import Counter # 加载停用词 stopwords set(open(stopwords.txt).read().splitlines()) # 合并所有聊天内容 all_text .join(df[content].dropna()) # 分词与过滤 words [word for word in jieba.lcut(all_text) if word not in stopwords and len(word) 1 and not word.isdigit()] word_counts Counter(words).most_common(200)4.2 生成交互式词云from pyecharts.charts import WordCloud wordcloud ( WordCloud() .add(, word_counts, word_size_range[20, 100], shapecircle) .set_global_opts( title_optsopts.TitleOpts(titleQQ群热门话题词云), tooltip_optsopts.TooltipOpts(is_showTrue) ) ) wordcloud.render(wordcloud.html)5. 分析报告自动生成5.1 关键指标计算report { 活跃时段: f{heatmap_data.stack().idxmax()[1]}:00-{heatmap_data.stack().idxmax()[1]1}:00, 最活跃成员: member_stats[总消息量].idxmax(), 热门话题: word_counts[0][0], 日均消息量: len(df)/df[date].nunique(), 核心成员占比: f{(member_stats[总消息量] member_stats[总消息量].quantile(0.8)).sum()/len(member_stats):.1%} }5.2 使用Jinja2生成HTML报告from jinja2 import Template template Template( h2QQ群活跃度分析报告/h2 ul li黄金时段: {{ report.活跃时段 }}/li li发言王: {{ report.最活跃成员 }}/li li热点话题: {{ report.热门话题 }}/li li日均消息: {{ report.日均消息量|round(1) }}条/li li20%核心成员贡献了{{ report.核心成员占比 }}的消息量/li /ul ) with open(report.html, w) as f: f.write(template.render(reportreport))在实际项目中这套分析方案帮助某500人兴趣社群将活动参与率提升了40%。通过热力图发现成员普遍在晚间21-22点最活跃调整活动时间后签到率从原来的35%提升至75%。雷达图分析则帮助识别出3位潜在KOL邀请他们担任小组长后群内UGC内容增长了2倍。

相关文章:

QQ群活跃度分析指南:用Python绘制聊天时间热力图和词云

QQ群活跃度分析指南:用Python绘制聊天时间热力图和词云 在社群运营和数据分析领域,了解群成员的活跃规律和讨论热点是优化运营策略的关键。本文将带你用Python实现三种专业级可视化:聊天时间热力图、成员活跃雷达图和话题词云,直接…...

Matlab R2021b窗口编程避坑指南:解决uitextarea的Value属性问题

Matlab R2021b窗口编程避坑指南:解决uitextarea的Value属性问题 在Matlab GUI开发中,窗口与子窗口的交互设计是常见需求。R2021b版本对App Designer组件进行了多项优化,但部分旧版特性仍存在兼容性问题。本文将深入剖析uitextarea组件的Value…...

智能文献处理:用Zotero PDF2zh插件提升学术效率的完整指南

智能文献处理:用Zotero PDF2zh插件提升学术效率的完整指南 【免费下载链接】zotero-pdf2zh PDF2zh for Zotero | Zotero PDF中文翻译插件 项目地址: https://gitcode.com/gh_mirrors/zo/zotero-pdf2zh 学术研究中,英文文献阅读往往成为科研人员的…...

深入解析SysTick定时器:从基础原理到高效延时实现

1. SysTick定时器基础解析 SysTick定时器是Cortex-M系列处理器内置的一个24位倒计时定时器,它就像嵌入式系统里的"心跳计数器"。我第一次接触STM32开发板时,发现所有例程的延时函数都基于这个不起眼的定时器,当时就很好奇为什么不用…...

OpenClaw到底是啥?能做什么?怎样部署?一文讲透!

2026年初,一只“小龙虾”席卷了科技圈,它不是夜宵摊上的美味,而是一款名为OpenClaw的开源AI智能体。本文将带大家从零开始,一文讲透OpenClaw到底是啥?能做什么?怎样部署?助力大家轻松有拥有专属…...

Mathtype公式编辑:在SUNFLOWER MATCH LAB技术文档中插入数学公式

Mathtype公式编辑:在SUNFLOWER MATCH LAB技术文档中插入数学公式 写技术文档,尤其是像SUNFLOWER MATCH LAB这类涉及算法、模型的项目文档时,最头疼的事情之一,可能就是如何优雅地插入那些复杂的数学公式。你肯定不想用一堆混乱的…...

若依代码生成的隐藏技巧:如何自定义生成模板实现个性化CRUD页面

若依代码生成器深度定制:从模板修改到个性化CRUD实战 在快速迭代的企业级应用开发中,若依框架的代码生成器无疑是提升效率的利器。但大多数开发者仅停留在基础使用层面,未能充分挖掘其定制化潜力。本文将揭示如何通过修改Velocity模板实现高度…...

Fiddler Everywhere在M1/M2芯片Mac上的性能优化指南(2024最新版)

Fiddler Everywhere在M1/M2芯片Mac上的性能优化指南(2024最新版) 当你在M1 Pro芯片的MacBook Pro上第一次启动Fiddler Everywhere时,是否注意到那个转圈的小彩虹图标?这背后是Rosetta 2在默默进行指令转译。作为一款尚未完全适配A…...

Fish Speech 1.5真实应用:远程医疗问诊语音记录转患者可听版

Fish Speech 1.5真实应用:远程医疗问诊语音记录转患者可听版 想象一下这个场景:一位医生刚刚结束一场远程视频问诊,他需要将整个问诊过程的录音整理成一份清晰、易懂的文字记录,然后发给患者。传统的做法是,医生或助理…...

告别杂乱文本!用BERT中文分割模型,3步搞定会议记录智能分段

告别杂乱文本!用BERT中文分割模型,3步搞定会议记录智能分段 1. 引言:从“文字墙”到清晰段落 想象一下这个场景:你刚开完一场两小时的线上会议,录音转文字工具很给力,生成了上万字的记录。但当你打开文档…...

LVGL_V8.3进阶一:圆形表盘UI的动效与数据可视化设计

1. 圆形表盘UI的动效设计基础 在智能穿戴设备的界面设计中,动效不仅仅是视觉点缀,更是提升用户体验的关键要素。LVGL_V8.3的动画系统基于关键帧和缓动函数,我们可以通过lv_anim_t结构体实现指针旋转、数据变化等效果。比如要让秒针实现平滑转…...

打造专属数字人助手:lite-avatar形象库多职业角色应用案例

打造专属数字人助手:lite-avatar形象库多职业角色应用案例 1. 从想法到现实:为什么你需要一个数字人助手 想象一下,你的在线教育平台需要一位能24小时答疑的虚拟老师,你的电商直播间需要一位不知疲倦的带货主播,或者…...

Python入门项目:编写脚本批量调用丹青识画系统分析个人照片库

Python入门项目:编写脚本批量调用丹青识画系统分析个人照片库 你是不是也和我一样,手机、电脑里存了成千上万张照片,但真正值得回味、能称得上“好照片”的却寥寥无几?每次想找几张有“艺术感”的照片发朋友圈或者做个电子相册&a…...

FireRedASR Pro一键部署教程:基于Ubuntu 20.04的GPU环境快速搭建

FireRedASR Pro一键部署教程:基于Ubuntu 20.04的GPU环境快速搭建 你是不是也对语音识别技术感兴趣,想自己动手搭建一个环境来试试水?但一想到要装驱动、配环境、搞依赖,头就大了。别担心,今天咱们就来聊聊怎么在Ubunt…...

Phi-3-vision-128k-instruct开源生态链接:与Hugging Face、Ollama等工具的协同

Phi-3-vision-128k-instruct开源生态链接:与Hugging Face、Ollama等工具的协同 1. 开篇:为什么关注开源生态链接 在AI领域,一个模型的价值往往取决于它能融入多少工具链。Phi-3-vision-128k-instruct作为微软最新开源的视觉语言模型&#x…...

KART-RERANK效果对比实验:与传统检索模型在公开数据集上的巅峰对决

KART-RERANK效果对比实验:与传统检索模型在公开数据集上的巅峰对决 最近在信息检索圈子里,KART-RERANK这个名字被讨论得越来越多。很多朋友都在问,这个新冒出来的重排序模型,到底比我们用了好多年的那些老方法强在哪里&#xff1…...

在Android应用中原生集成Z-Image-Turbo_Sugar脸部Lora:端侧AI的尝试

在Android应用中原生集成Z-Image-Turbo_Sugar脸部Lora:端侧AI的尝试 最近在琢磨一个挺有意思的事儿:怎么在手机App里玩转AI画图,特别是那种能生成特定风格人像的模型。像Z-Image-Turbo_Sugar脸部Lora这种模型,效果很惊艳&#xf…...

4步掌握跨平台投屏工具Macast:从安装到精通的完整指南

4步掌握跨平台投屏工具Macast:从安装到精通的完整指南 【免费下载链接】Macast Macast - 一个跨平台的菜单栏/状态栏应用,允许用户通过 DLNA 协议接收和发送手机中的视频、图片和音乐,适合需要进行多媒体投屏功能的开发者。 项目地址: http…...

前端加密全攻略:用jsencrypt.js+Base64.js实现数据安全传输(附kkFileView集成示例)

前端数据安全实战:从加密传输到文件预览的全链路方案 在Web应用开发中,数据安全始终是不可忽视的核心议题。当用户提交表单、上传文件或进行任何涉及敏感信息的操作时,如何确保这些数据在传输过程中不被窃取或篡改?本文将深入探讨…...

AgentCPM本地研报工具体验:纯离线运行,商业机密数据安全无忧

AgentCPM本地研报工具体验:纯离线运行,商业机密数据安全无忧 如果你每天的工作都需要处理大量敏感的商业数据,撰写深度分析报告,那你一定对数据安全这根弦绷得特别紧。用在线AI工具吧,总担心数据上传到云端有泄露风险…...

避坑指南:Backtrader数据准备中90%新手会犯的5个错误(以A股为例)

避坑指南:Backtrader数据准备中90%新手会犯的5个错误(以A股为例) 在量化交易的世界里,数据准备就像建筑的地基——看似简单却至关重要。许多开发者花费大量时间调试策略逻辑,最终却发现问题出在最基础的数据层。本文将…...

别再盲目跟风!通达信天量法则(TLFZ)的3个常见使用误区与正确姿势

通达信天量法则(TLFZ)实战指南:避开三大认知陷阱,掌握精准交易信号 在技术分析领域,成交量指标一直被视为价格变动的先行指标,而通达信系统中的天量法则(TLFZ)更是众多资深交易者密切关注的信号工具。这个看似简单的指标背后&…...

Audio Pixel Studio音色库详解:晓晓/云希/云扬等中文音色适用场景指南

Audio Pixel Studio音色库详解:晓晓/云希/云扬等中文音色适用场景指南 1. 语音合成技术简介 Audio Pixel Studio 是一款基于 Streamlit开发的轻量级音频处理Web应用,集成了强大的Edge-TTS语音合成引擎。这款工具采用清新大气的"明亮像素"设计…...

Nunchaku-flux-1-dev在STM32F103C8T6开发中的应用

Nunchaku-flux-1-dev在STM32F103C8T6开发中的应用 1. 场景引入:嵌入式开发的痛点 做STM32开发的朋友都知道,配置外设和调试代码是个挺头疼的事。特别是用STM32F103C8T6这种资源有限的芯片,每个引脚、每个时钟周期都得精打细算。传统的开发方…...

Ovirt 开源虚拟化平台部署实战:从规划到安装的完整指南

1. 认识Ovirt:开源虚拟化的利器 第一次接触Ovirt是在五年前的一个企业私有云项目中,当时客户需要一套既经济又可靠的虚拟化方案。经过多方对比,我们最终选择了这个基于KVM的开源平台。你可能要问:为什么是Ovirt?简单来…...

阿里通义Z-Image-Turbo在内容创作中的应用:快速生成知乎、公众号配图

阿里通义Z-Image-Turbo在内容创作中的应用:快速生成知乎、公众号配图 1. 为什么内容创作者需要这款AI图像工具 在内容创作领域,配图质量直接影响文章的传播效果。传统方式面临三大痛点: 版权风险:网络图片存在侵权隐患风格不统…...

Plant Simulation新手必看:从零搭建工厂布局模型的5个关键步骤

Plant Simulation新手必看:从零搭建工厂布局模型的5个关键步骤 当你第一次打开Plant Simulation软件时,面对空白的建模界面和复杂的工具栏,可能会感到无从下手。作为制造业数字化转型的核心工具之一,Plant Simulation能帮助工程师…...

大数据技术专业的毕设实战:从零构建一个高可用日志分析系统

最近在指导几位大数据专业同学的毕业设计,发现一个普遍现象:很多同学的选题听起来高大上,比如“基于大数据的用户画像系统”、“智能推荐引擎”,但实际做出来往往是个“玩具级”Demo。技术栈罗列了一大堆,Hadoop、Spar…...

Hybrid A*算法在自动驾驶中的路径规划实践

1. Hybrid A*算法是什么?能解决什么问题? 第一次接触Hybrid A算法时,我正为一个自动驾驶小车项目头疼。传统A算法规划的路径像机器人走方格,小车执行时总会出现"蛇形走位"。直到发现Hybrid A*这个神器,才明白…...

通过Mininet实验剖析SDN与传统网络架构的协同机制

1. 为什么需要研究SDN与传统网络的协同 第一次接触SDN时,我和大多数网络工程师一样,被"软件定义"的概念震撼到了。想象一下,所有网络设备不再需要单独配置,通过一个中央控制器就能管理整个网络,这简直是网络…...