基于hadoop的竞赛网站日志数据分析与可视化(下)

【基于hadoop的竞赛网站日志数据分析与可视化(上)】讲解了如何用hadoop对数据进行初步处理,本篇主要讲解用python对结果数据进行可视化分析。

-------------------------------------------------------------------------------------------------------------

5 数据可视化与分析

5.1 不同日期访问次数可视化

5.1.1 代码设计

       用pd.read_csv读取文本文件,指定分隔符sep='\t'(适配制表符分隔的格式),手动命名列(names=['date', 'visit_count'])。先清理日期字符串的空白(避免解析异常),再用pd.to_datetime转化为时间格式(errors='coerce'把解析失败的设为NaN),最后删除无效行。

       用groupby('date')把分散的访问量“按天归集”,求和得到每日总访问量;再用折线图(加标记点)呈现时间维度的变化趋势(方便观察波动、峰值)。通过标签、排版优化让图表更“易用”;用describe()输出统计指标(如平均访问量、最大最小值),补充可视化之外的量化结论。

5-1-1 不同日期访问次数可视化代码

5.1.2 运行结果与分析

       由图5-1-2-1和图5-1-2-2,标准差高达4,176,表明数据分布极不均匀,中位数(704)远低于平均值(1,739),说明数据右偏严重,75分位数为1,436,但最大值高达41,518,存在极端异常值,这种分布表明少数用户贡献了绝大部分访问

       流量整体趋势属于“瓶颈期+爆发期”接替,2020年12月出现异常高峰(接近40,000次访问),2021年初访问量有所回落但仍高于2020年夏季水平,建议对这个时间短的数据进行进一步分析。

5-1-2-1 输出结果

5-1-2-2 可视化结果

5.3 四个月各用户访问次数可视化

5.3.1 代码设计

①数据处理

       先用split(',', 1)精准切分“页面 ID”和“时间+次数”,再对第二部分用split('\t')拆出时间与次数——这是针对“非标准分隔符”的定制化解法,确保混乱格式能被解析。

       通过count <= 0过滤无效浏览量,用pd.to_datetime(..., errors='coerce')+pd.isna筛掉畸形时间。最终打包成 DataFrame,让下游分析能直接调用。

5-3-1-1 数据处理代码1

5-3-1-2 数据处理代码2

②访问频率分布

       先groupby('user_id')['visits'].sum()算出每个用户的总访问量。再用user_visits['visits'] < 200把极端值“砍一刀”,让直方图聚焦大多数用户的分布(毕竟运营中 80% 精力要服务普通用户)。

       用histplot(..., kde=True)同时呈现“次数分布”和“密度趋势”,一眼就能看出 “用户访问次数集中在哪个区间、分布是否均匀”。

5-3-1-1 访问频率分布代码

③顶级活跃用户分析

       抓出头部:nlargest(20, 'visits')筛出访问量 Top20 用户;barplot用彩色柱状图把他们的“贡献值”可视化,解决“谁是核心用户”的问题。

       追踪行为:提取这些用户 ID 后,all_data[all_data['user_id'].isin(top_user_ids)]精准抓取其行为数据;再按日期排序,用plt.plot画出每日访问曲线,把“用户是谁”延伸到 “用户做了什么”,挖掘他们的访问规律,为“如何留住/复制这些用户”提供依据。

5-3-1-2 顶级活跃用户分析代码

5.3.2 运行结果与分析

由频率分布可视化结果(图5-3-2-1)我们可以得出以下结论。

①用户访问行为的“长尾分布”特征

       集中低访问区间:大部分用户(柱状图左侧高柱)的总访问次数集中在 0-25 次 区间,说明平台的基础用户群体以“轻度访问”为主,这是互联网产品常见的 “长尾分布”特征——少数用户贡献高频访问,多数用户访问频次低。

       长尾衰减趋势:随着总访问次数增加(横轴向右),用户数量快速减少(柱状图高度骤降),且频率曲线(蓝色线条)呈指数级衰减,意味着 高频访问用户(如>50 次)占比极低,属于平台的 “核心活跃用户”。

②平台用户分层与运营重点

       基础用户(0-25 次):占比最大,是平台流量基本盘。需通过优化体验(如简化操作、首页内容推荐)留住这部分用户,避免流失;可设计“新手任务”、“签到奖励” 等引导其增加访问。

       潜力用户(25-50 次):用户数量明显减少,但仍有一定规模。这部分用户有向高频转化的潜力,可通过“进阶任务”、“专属内容推送”(如竞赛冲刺攻略)提升活跃度。

       核心用户(>50 次):数量极少,但贡献了大量访问。需重点维护(如专属客服、高级权益),他们是平台口碑传播、内容消费的关键群体。

5-3-2-1 用户访问频率分布可视化

由顶级活跃用户可视化分析结果(图5-3-2-2、图5-3-2-3)可得出以下结论。

①访问波动与活跃度

       高活跃用户识别:部分用户(如用户 9430、用户 93223 )在较长时间内保持较高访问次数,是平台超级活跃用户,对平台粘性强、参与度高。

       波动型用户:多数用户访问次数随时间明显波动(如用户 93497 前期高访问,后期骤降),说明其活跃度受外部因素(如竞赛节奏、个人时间)影响大。

②时间周期与行为规律

       短期集中访问:图中多条曲线在特定时间点(如 2020-11-03、2021-01-26 )出现峰值,可能对应平台关键节点(如竞赛活动、内容更新),触发核心用户集中访问。

       长期衰减趋势:多数用户后期访问次数下降,需关注平台长期留存策略,避免核心用户流失

5-3-2-2 访问次数最多的前20名用户数据可视化

5-3-2-3 顶级用户每日访问次数时间序列可视化

5.4 四个月各页面访问次数可视化

5.4.1 代码设计

       在上一小节数据处理的代码上增加以下核心代码,进行对四个月各页面访问次数的可视化。

       首先用groupby做“数据归集”,把零散的浏览行为收拢到“页面”这个业务实体;sort_values 则是“筛选重点”,避免无差别分析——毕竟运营中 80% 价值往往来自 Top 页面。接着用柱状图把“页面-总览量”的抽象关系,转化为直观的长短对比,一眼锁定“哪些页面最核心”。

        进一步把时间切分到“周维度”,但关键是用 pd.Categorical 规范星期顺序——这是“对抗数据无序性”的细节设计(否则默认按字母排序,图表会失去业务意义),然后用柱状图对比不同页面的“周活跃模式”。

       用箱线图展示“数据分布的离散程度”——中位数(箱体中线)体现“典型浏览量”,箱体高度体现“日常波动范围”,离群点体现“异常流量(活动/爬虫等)”。回答“页面流量稳定吗?”——如果页面的箱线图“上须”极长,说明偶尔有爆发式访问,需排查是运营亮点(可复制)还是异常(需监控)。

5-4-1 各页面访问数据可视化核心代码

5.4.2 运行结果与分析

       由热门页面总浏览次数对比图(图5-4-2-1)可知,页面 ID 为 1693、1688 的总浏览次数远超其他页面,是流量核心,直接体现 “哪些页面最受关注(总量维度)”。

5-4-2-1 热门页面总浏览次数对比图

由热门页面浏览量分布箱线图(图5-4-2-2)可得到以下信息。

①整体分布特征

       差异悬殊:不同页面浏览量差距极大,部分页面(如1488、1544等)浏览量集中在极低区间,而1688、1693等页面浏览量显著更高,反映出页面受关注程度分化明显。

       异常值(离群点):1688、1693等页面存在明显长须和离群点,说明这些页面偶尔会出现远高于日常的浏览峰值,可能受活动、突发流量等影响。

②重点页面分析(以1688、1693为例)

       1688 页面箱体跨度大(从接近 0 到 20000+),说明浏览量波动剧烈,日常浏览量分布广;中位数(箱体中间线)约 10000,代表“典型浏览量水平”,长上须和高离群点,佐证存在爆发式流量;1693 页面箱体高度与 1688 接近,但上须更长、离群点更高(近 40000),峰值流量更极端,中位数略低于 1688,说明“典型浏览量”稍弱,但爆发潜力更强。

③低流量页面特征(如 1488、1544 等 )

       箱体极扁、须极短,甚至几乎与 x 轴重合,说明这些页面浏览量极低且稳定,几乎无波动,属于“冷门页面”,需评估其价值或优化必要性。

5-4-2-2 热门页面浏览量分布箱线图

根据图5-4-2-3和图5-4-2-4,我们可以得到以下信息。

①核心趋势:“流量断层分化+逐月衰减”

       蓝色(1488)、绿色(1628)两条线 “初期高流量、后期暴跌”,这类页面大概率是“短期活动页/热点页”(比如2020年11-12月的营销活动页,活动结束后流量自然回落)。其他颜色线条“全程低流量”,属于“长尾页面”(可能是内容冷门、入口隐蔽,或缺乏运营投入)。

②核心规律“少数页面垄断周内流量”

       棕色(1628)在 Monday(周一) 流量峰值,推测是 “工作日强相关页面”(如办公工具、工作资讯类,周一用户集中使用);蓝色(1693)在Tuesday(周二)流量断层领先,可能是“周二特定场景页”(如行业报告发布、会员日活动,吸引用户集中访问);其他页面“周内流量极低且分散”缺乏明确的用户访问规律,或用户需求弱。

5-4-2-3 热门页面浏览量遂月份变化可视化

5-4-2-4 热门页面的周浏览模式可视化

-------------------------------------------------------------------------------------------

需要数据集和完整代码的私我

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/web/88961.shtml
繁体地址,请注明出处:http://hk.pswp.cn/web/88961.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python爬虫打怪升级:数据获取疑难全解析

一、引言 **​​​ 在大数据时代,数据就是价值的源泉。而 Python 爬虫,作为数据获取的得力助手,凭借 Python 简洁的语法和丰富强大的库,在众多领域发挥着重要作用。无论是电商领域的价格监测、市场调研中的数据收集,还是学术研究里的文献获取,Python 爬虫都能大显身手。…

基于R语言的极值统计学及其在相关领域中的实践技术应用

极值统计学就是专门研究自然界和人类社会中很少发生&#xff0c;然而发生之后有着巨大影响的极端现象的统计建模及分析方法&#xff1b;在水文、气象、环境、生态、保险和金融等领域都有着广泛的应用。一&#xff1a;独立假设下的极值统计建模 1.广义极值模型. 2.极小值的处理.…

前端面试十一之TS

TS 是 TypeScript 的缩写&#xff0c;是一种由微软开发的开源编程语言&#xff0c;它是 JavaScript 的一个超集&#xff0c;为 JavaScript 添加了类型系统和对 ES6 的支持。以下是关于 TypeScript 的详细介绍&#xff1a;一、特点类型系统&#xff1a;TypeScript 引入了类型注解…

Excel快捷键

Excel快捷键可以快速提高使用Excel的效率&#xff0c;下面将Excel快捷键进行整理汇总以备不时之需 标注颜色的为需要经常使用并可以显著提高效率的快捷键 Ctrl相关快捷键【Ctrl】【1】 显示【单元格格式】设置窗口,可以设置选中的格式【Ctrl】【2】 应用或取消加粗…

Windows 10/11安装WSL、Ubuntu、Docker Desktop

WSL&#xff0c;Windows Subsystem for Linux&#xff0c;是微软开发的轻量级虚拟机环境&#xff0c;允许用户在 Windows上运行完整的Linux内核和用户空间&#xff0c;适用于Windows的Linux子系统。能实现&#xff1a; 运行原生的Linux命令和程序&#xff08;如apt&#xff0c…

React之旅-06 Ref

当你想让一个组件“记住”一些信息&#xff0c;但又不想这些信息触发新的渲染时&#xff0c;你可以使用 ref。使用 Ref 前&#xff0c;需要导入useRef&#xff0c;代码如下&#xff1a;import { useRef } from react;在您的组件内部&#xff0c;调用 useRef 并将您想要引用的初…

stm32-Modbus主机移植程序理解以及实战

目录一、背景二、代码理解&#xff08;一&#xff09;main()函数例程代码功能遇到的问题解决方式分析&#xff08;二&#xff09;eMBMasterPoll( void )函数例程代码1. 变量声明2. 协议栈状态检查3. 获取事件4. 事件处理&#xff08;switch-case&#xff09;4.1 EV_MASTER_READ…

c++判断文件或目录是否存在

#include<sys/stat.h>#include<fstream>#include<string>#include<stdio.h>#include<stdlib.h>#include<vector>#include<io.h>#include<iostream>bool IsFileGood(string strFileName, book bFile){if(bFile) \\文件{ifstrea…

Java设计模式之行为型模式(命令模式)

一、核心定义与设计思想 命令模式通过对象化请求&#xff0c;将操作的具体实现细节封装在命令对象中&#xff0c;使得调用者&#xff08;Invoker&#xff09;无需直接依赖接收者&#xff08;Receiver&#xff09;&#xff0c;仅需通过命令对象间接调用。这种设计支持以下能力&a…

大数据领域开山鼻祖组件Hadoop核心架构设计

一、Hadoop的整体架构 Hadoop是一个专为大数据设计的架构解决方案&#xff0c;历经多年开发演进&#xff0c;已逐渐发展成为一个庞大且复杂的系统。其内部工作机制融合了分布式理论与具体工程开发的精髓&#xff0c;构成了一个整体架构。 Hadoop最朴素的原理在于&#xff0c;它…

OneCode3.0 VFS分布式文件管理API速查手册

&#x1f4da; 前言&#xff1a;OneCode 3.0微内核引擎架构解析 在云原生与分布式系统日益普及的今天&#xff0c;文件管理系统面临着前所未有的挑战——海量数据存储、跨节点协同、多租户隔离以及弹性扩展等需求推动着传统文件系统向分布式架构演进。OneCode 3.0作为新一代企业…

UI前端与数字孪生结合实践探索:智慧物流的仓储自动化管理系统

hello宝子们...我们是艾斯视觉擅长ui设计、前端开发、数字孪生、大数据、三维建模、三维动画10年经验!希望我的分享能帮助到您!如需帮助可以评论关注私信我们一起探讨!致敬感谢感恩!一、引言&#xff1a;传统仓储的 “效率黑洞” 与数字孪生的破局当仓库管理员在数万平的库房中…

使用layui的前端框架过程中,无法加载css和js怎么办?

这使用layui的前端框架过程中&#xff0c;无法加载css和js怎么办&#xff1f;里写自定义目录标题已经按要求下载并解压到指定位置了&#xff0c;但是感觉就是无法加载文件后台提示如下&#xff1a;那就我清理缓存当再次观察html页面时&#xff0c;发现页面最开始有两个< htm…

gitlab+TortoiseGit克隆生成ppk方式

1、第一步 2、第二步3、第三步4、第四步&#xff0c;如何使用这个ppk就可以了

VSCode中使用容器及容器编排docker-compose

前面笔者写了一篇博文&#xff1a;使用容器编排对go项目进行部署、调试&#xff0c;介绍了在Goland中如何使用容器&#xff0c;由于Goland的容器配置是可视化的&#xff0c;使用起来非常方便&#xff0c;VSCode中也有一个容器插件&#xff0c;但是笔者一直未使用过&#xff0c;…

深度学习入门:让神经网络变得“深不可测“⚡(二)

深度学习入门&#xff1a;让神经网络变得"深不可测" &#x1f9e0;⚡ 系列课程第二弹&#xff1a;深度学习的奇妙世界 前言&#xff1a;从浅到深的华丽转身 哈喽&#xff0c;各位AI探险家&#xff01;&#x1f44b; 欢迎回到我们的"让机器变聪明"系列课…

硅基计划2.0 学习总结 捌 异常与常用工具类

文章目录一、异常1. 防御性编程2. throw关键字3. throws关键字4. 捕获5. finally关键字二、自定义异常类三、常用工具类1. Date以及相关的类1. 创建时间&#xff08;基本弃用&#xff09;2. 捕获系统时间3. 获取当前年月日时分秒4. 日期加减5. 根据字符串创建日期6. 根据当前时…

2025-7-14-C++ 学习 排序(2)

文章目录2025-7-14-C 学习 排序&#xff08;2&#xff09;P1059 [NOIP 2006 普及组] 明明的随机数题目描述输入格式输出格式输入输出样例 #1输入 #1输出 #1说明/提示提交代码P1093 [NOIP 2007 普及组] 奖学金题目背景题目描述输入格式输出格式输入输出样例 #1输入 #1输出 #1输入…

微信131~140

1.在组件中使用store对象的数据 // 要想使用store中的数据以及方法 // 需要从 mobx-miniprogram-bindings 方法将 ComponentWithStore 方法 import { ComponentWithStore } from mobx-miniprogram-bindings // 导入store对象 import { numStore } from ../../../stores/numstor…

微美全息借区块链与DRL算法打造资源管理协同架构,达成边缘计算与区块链动态适配

在当今数字化浪潮汹涌的时代&#xff0c;边缘计算与区块链技术正逐步成为驱动技术革新与业务转型升级的核心动力。当这两项前沿技术相互融合&#xff0c;一个兼具高效性与安全性的任务处理系统便得以构建。为了充分挖掘边缘计算系统的性能潜力&#xff0c;避免任务卸载过程中的…