竞赛 python+大数据校园卡数据分析

0 前言

🔥 优质竞赛项目系列,今天要分享的是

🚩 基于yolov5的深度学习车牌识别系统实现

🥇学长这里给一个题目综合评分(每项满分5分)

  • 难度系数:4分
  • 工作量:4分
  • 创新点:3分

该项目较为新颖,适合作为竞赛课题方向,学长非常推荐!

🧿 更多资料, 项目分享:

https://gitee.com/dancheng-senior/postgraduate


1 课题介绍

近年来,大数据的受关注程度越来越高。如何对大数据流进行抽取转换成有用的信息并应用于各行各业变得越来越重要。如今,校园一卡通系统在高校应用十分广泛,大部分高校主要利用校园一卡通对校园中的各类消费阅、补助领取等进行统一管理。通过数据分析算法,对大学生校内消费记录进行整理、分类、预测,从而整体反应学生在校消费情况,形成量化的评判标准,同时也为今后的贫困生资助管理工作提供可靠的数据支持,辅助完成贫困生的相关工作。

2 数据预处理

在进行数据挖掘或者数据分析之前,需要对“脏数据” 数据进行数据预处理,一般采用数据清理、数据集成、数据变换等方式,已获得更好的分析效果。

2.1 数据清洗

由于数据库中有着大量的数据表,我们获取到的数据表中会存在着异常数据,如数据不合法与常识不符,同一个字段属性值来源于多张数据表且数值不一样等。数据预处理主要去处可忽略的字段、忽略空缺记录、可处理噪声的数据、可删除的数据等。由于部分校园卡用户,如教职工、研究生等,消费时具有很强的随机性和离散型。同时,为了保护隐私,对姓名、学号等属性要做脱敏和隐私处理。

2.2 数据规约

预处理后的数据不一定适合直接使用,因此需要对数据进行集成和变换,将多个数据库中提取出的数据项整合到一起,组成新的数据集环境,并经过详细对比和筛选解决数据不一致和数据冗余等问题。为了适合分析,我们要对数据进行离散化和概念分层处理。

3 模型建立和分析

通过建立消费数据分析模型,对学校校园卡消费行为进行分析,总结学校学生

​ #1.总体消费情况
​ #2.不同专业、性别的学生与消费能力的关系
​ #3.不同性别的学生与消费项目的关系
​ #4.消费时间的特征分析
​ #5.消费地点与门禁通过地点的关系分析
​ #6.学生消费特征分层模型

    import matplotlib.pyplot as pltexpen_rec = pd.read_csv(r'C:\Users\River\Desktop\校园卡数据\expen_rec.csv',encoding='gbk')student = pd.read_csv(r'C:\Users\River\Desktop\校园卡数据\student.csv',encoding='gbk')access = pd.read_csv(r'C:\Users\River\Desktop\校园卡数据\access.csv',encoding='gbk')all_data1 = pd.merge(expen_rec,student,on ='校园卡号',how='left')all_data1.head()

在这里插入图片描述

3.1 不同专业、性别的学生与消费能力的关系

    from pylab import *plt.rcParams['font.sans-serif']=['SimHei']%matplotlib inlinetotal = con_sum.groupby(['性别'])[['消费金额']].sum()total1= con_sum.groupby(['性别'])[['消费金额']].count()plt.subplot(121)plt.pie(total['消费金额'],labels=total.index,autopct='%2.f%%')plt.title('男女生消费总金额对比')plt.subplot(122)plt.pie(total1['消费金额'],labels=total1.index,autopct='%2.f%%')plt.title('男女生人数对比')plt.show()

在这里插入图片描述

    fig1 = plt.figure(num =1, figsize=(8,4))plt.title('各消费等级人数')plt.xlabel('消费等级')x1 =['(0, 100] ','(100, 150]','(150, 200] ','(200, 250]','(250, 300]','(300, 350]','(350, 400]','(400, 500]','(500, 3000]']y1 = list(table1.values)y2 =list(table2.loc[('女',slice(None))].values)y3 =list(table2.loc[('男',slice(None))].values)plt.plot(x1,y1,label='总体')plt.plot(x1,y2,label='女生')plt.plot(x1,y3,label='男生')plt.legend(loc=2)plt.show()

在这里插入图片描述

    #分析各专业总消费金额排列fig2 = plt.figure(num =2, figsize=(14,6))plt.title('各专业总消费金额排列')plt.xlabel('专业名称')x1=table3.indexy1=table3['消费总金额']plt.bar(x1,y1)plt.xticks(x1,x1,rotation=45)for a,b in zip(x1,y1):plt.text(a, b+0.05, '%.0f' % b, ha='center', va= 'bottom',fontsize=9)plt.show()

在这里插入图片描述

小结:

1.该校18级学生的人均每月校园卡消费295.96元;

2.女生人数占比59%,总消费额占比56%,消费总金额与性别差异不大;

3.从消费金额级区间上看,学生的总体消费金额主要在[200,500]的区间内,但男女生消费存在明显差异:女生消费金额在[200-350]区间内人数明显高于男生,但随着增加而下降,而男生在400以上的区间内的人数高于女生。男生对校园卡消费方式差异较大,一般不使用或者经常使用。女生多数选择轻度使用。

4.从各专业消费总金额上看机械制造专业最高,机械制造(学徒)专业最低。但结合各专业的人均消费分析,各专业的人均消费差异很小,标准差仅为42.8。人均消费最高的机械制造(学徒)专业因为人数最少仅为14人,对总体数据影响较小。可以得出:学生的校园卡消费能力与专业无明显区别。

3.2 消费时间的特征分析

    fig7 = plt.figure(num =7, figsize=(8,4))mon1= time_tab.groupby(['日期'])[['消费金额']].count()mon2= time_tab1.groupby(['日期'])[['消费金额']].count()mon3= time_tab2.groupby(['日期'])[['消费金额']].count()plt.title('月度消费次数趋势分析')plt.xlabel('日期')x1 = list(mon1.index)y1 = list(mon1.values)y2 =list(mon2.values)y3 =list(mon3.values)plt.plot(x1,y1,label='总体')plt.plot(x1,y2,label='女生')plt.plot(x1,y3,label='男生')plt.legend(loc=2)plt.show()#除个别天数外,女生均高于男生,每周之间趋势相似

在这里插入图片描述

    fig8 = plt.figure(num =8, figsize=(8,4))wk1= time_tab.groupby(['星期'])[['消费金额']].count()wk2= time_tab1.groupby(['星期'])[['消费金额']].count()wk3= time_tab2.groupby(['星期'])[['消费金额']].count()def autolabel(rects):for rect in rects:height = rect.get_height()plt.text(rect.get_x()+rect.get_width()/2.-0.2, 1.03*height, '%s' % float(height))plt.title('月度消费次数趋势分析')plt.xlabel('星期')y1 = wk2['消费金额']y2 = wk3['消费金额']x1=range(len(y1))x2=[i +0.35 for i in x1]a=plt.bar(x1,y1, width=0.3,label='女生',color='blue')b=plt.bar(x2,y2, width=0.3,label='男生',color='green')autolabel(a)autolabel(b)plt.legend()plt.xticks(x1,list(wk1.index),rotation=45)plt.show()#周一至周三消费次数较高,男女生在一周内的消费频率的波动没有明显差异

在这里插入图片描述

1.从一个月的每天的消费次数上看,除个别天数男女生消费次数相近,多大多数天数的女生的消费次数高于男生,且每周之间趋势相似,可以得出学生日常的消费习惯比较稳定;

2.从每周的消费次数汇总上看,周一至周三消费次数较高,并且逐步下降,周末为消费次数最低的时候。男女生在一周内的消费频率的波动趋势相同,没有明显差异;

3.从每天的消费的时间段分析上看,周末的刷卡消费次数为平常的12%。食堂可以根据数据情况,适当安排休息,减少人力成本浪费;

4.平常时间的早、中、晚餐的用餐时间集中在7点、11点、17-18点时间段。周末消费的时间相对平缓,早餐的高峰时间会延后到8点时间段,且持续有人员消费,中餐的用餐时间也会有部分后延到12点的时间段。晚餐时间则会部分提前17点的时间段进行,需要提前做好食堂的准备事项。

4 Web系统效果展示

以上是校园卡分析的部分过程,我们还可以做成web系统来展示。效果如下:

4.平常时间的早、中、晚餐的用餐时间集中在7点、11点、17-18点时间段。周末消费的时间相对平缓,早餐的高峰时间会延后到8点时间段,且持续有人员消费,中餐的用餐时间也会有部分后延到12点的时间段。晚餐时间则会部分提前17点的时间段进行,需要提前做好食堂的准备事项。

Web系统效果展示

以上是校园卡分析的部分过程,我们还可以做成web系统来展示。效果如下:

在这里插入图片描述

在这里插入图片描述

5 最后

🧿 更多资料, 项目分享:

https://gitee.com/dancheng-senior/postgraduate

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

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

相关文章

【面试题】http与https相关面试题(持续收录)

1.http与https的区别? HTTP(Hypertext Transfer Protocol)和HTTPS(Hypertext Transfer Protocol Secure)是用于在客户端和服务器之间传输数据的通信协议。它们之间的主要区别在于安全性和数据传输的加密方式&#xff1…

WebSocket 详解-小案例展示

简介:Websocket是一种用于H5浏览器的实时通讯协议,可以做到数据的实时推送,可适用于广泛的工作环境,例如客服系统、物联网数据传输系统,该测试工具可用于websocket开发初期的测试工作。 文章末尾有此案例的完整源代码。…

【JVM】JVM类加载过程

文章目录 🌴类加载过程🌸加载🌸加载🌸验证🌸准备🌸解析🌸初始化 🌲双亲委派模型🌸什么是双亲委派模型?🌸双亲委派模型的优点 ⭕总结 &#x1f334…

visual studio报:引发的异常:“System.DllNotFoundException”(位于 ConsoleCAN1.exe 中)

最近在重构CAN通信的代码,把论文中的java转为C#实现,由于某种原因,java不能复现,所以转为c#。 然而c#的重构过程遇到许多问题,因为两种语言的编程方式、线程等等实现上有所差异。 其中一个错误: 引发的异…

深入理解数据结构第一弹——二叉树(1)——堆

前言: 在前面我们已经学习了数据结构的基础操作:顺序表和链表及其相关内容,今天我们来学一点有些难度的知识——数据结构中的二叉树,今天我们先来学习二叉树中堆的知识,这部分内容还是非常有意思的,下面我们…

网络安全接入认证-802.1X接入说明

介绍 802.1X是一个网络访问控制协议,它可以通过认证和授权来控制网络访问。它的基本原理是在网络交换机和认证服务器之间建立一个安全的通道,并要求客户端提供身份验证凭据。如果客户端提供的凭据是有效的,交换机将开启端口并允许访问。否则&…

Linux(CentOS7.5) 安装部署 Python3.6(超详细!包含 Yum 源配置!)

文章目录 1.配置 Yum 源2.下载 Python3 包3. 解压4.安装依赖环境5.安装出错场景 6.创建软链接7.配置 Python3 的环境变量8.验证补充:安装 openssl-devel补充:pip3 源配置 1.配置 Yum 源 # 注意!!!请先切换到 root 账号…

Go语言爬虫实战(线程池)

Go语言爬虫实战 目标 利用go语言爬取指定网站的图片。实现爬取网站任意页面所有所需的图片。实现使用go语言线程池开启多个线程爬取图片内容。最后实现创建多个文件夹存储图片。 爬取网站图片 步骤 对指定URL发去GET请求,获取对应的响应。 resp, err : http.Get(…

小迪学习笔记(内网安全)(常见概念和信息收集)

小迪学习笔记(内网安全)(一) 内网分布图内网基本概念工作组和域环境的优缺点内网常用命令域的分类单域父域和子域域数和域森林 Linux域渗透问题内网安全流程小迪演示环境信息收集mimikatzLazagne(all)凭据信息政集操作演示探针主机…

Modbus转Profinet网关快速解决PLC插槽数量不够用的烦恼

通过Modbus转Profinet(XD-MDPN100)网关的应用,不仅可以实现Modbus设备与Profinet网络的平滑对接,还能有效解决PLC插槽限制和Modbus指令轮询等问题,Modbus转Profinet网关(XD-MDPN100)在解决PLC插…

CSS(三)---【盒子模型、边框、外边距合并】

零.前言 本篇主要介绍CSS中最重要的一种概念模型:“盒子模型”。 关于CSS的更多内容,可以查看作者之前的文章: CSS(一)---【CSS简介、导入方式、八种选择器、优先级】-CSDN博客 CSS(二)---【常见属性、复合属性使用】-CSDN博客 一.盒子模…

鸿蒙OS开发实例:【消息传递】

介绍 在HarmonyOS中,参考官方指导,其实你会发现在‘指南’和‘API参考’两个文档中,对消息传递使用的技术不是一对一的关系,那么今天这篇文章带你全面了解HarmonyOS 中的消息传递 概况 参照官方指导,我总结了两部分…