竞赛 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 plt
    expen_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 inline
    total = 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.index
    y1=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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

2024年 前端JavaScript 进阶 第1天 笔记

1.1-作用域和作用域链 1.2-JS垃圾回收机制以及算法 1.3-JS闭包 JS进阶-day1-154-JS闭包_哔哩哔哩_bilibili 1.4-变量和函数提升 1.5-函数剩余参数和展开运算符 运用场景: 1.6-ES6箭头函数的使用 1.7-数组解构 1.8-对象解构 最简写法: 1.9-forEach遍历数…

centos7配置阿里云的镜像站点作为软件包下载源

目录 1、备份 2、下载新的 CentOS-Base.repo 到 /etc/yum.repos.d/ 3、测试 阿里镜像提供的配置方法:centos镜像_centos下载地址_centos安装教程-阿里巴巴开源镜像站 1、备份 [rootlocalhost ~]# mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentO…

Nginx-记

Nginx是一个高性能的web服务器和反向代理服务器,用于HTTP、HTTPS、SMTP、POP3和IMAP协议。因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。 (1)更快 这表现在两个方面:一方面,在正常情况下&…

Linux中安装JDK17.X

1、总体概述? 该操作方式适合centos或red hat环境 2.1、在线下载JDK安装包? 通过wget命令下载JDK17.X包 wget https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.tar.gz 如果提示:没有wget命令就安装wget yum install w…

.Net 知识杂记

记录平日中琐碎的.net 知识点。不定期更新 目标框架名称(TFM) 我们创建C#应用程序时,在项目的工程文件(*.csproj)中都有targetFramework标签,以表示项目使用的目标框架 各种版本的TFM .NET Framework .NET Standard .NET5 及更高版本 UMP等 参考文档&a…

如何通过针对iOS的动态分析技术绕过反调试机制

在这篇文章中,我们将跟大家介绍和分析一种针对iOS的新型安全研究技术,该技术能够让iOS应用程序的调试过程更加轻松,并解决那些可能会延缓我们步伐的阻碍。 如果你要对一个采用了反调试技术的iOS应用程序或二进制文件进行调试的话,…

基于龙芯2k1000 mips架构ddr调试心得(二)

1、内存控制器概述 龙芯处理器内部集成的内存控制器的设计遵守 DDR2/3 SDRAM 的行业标准(JESD79-2 和 JESD79-3)。在龙芯处理器中,所实现的所有内存读/写操作都遵守 JESD79-2B 及 JESD79-3 的规定。龙芯处理器支持最大 4 个 CS(由…

【JVM】JVM类加载过程

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

【2】单链表

【2】单链表 1、单链表2、单链表的设计3、接口设计4、SingleLinkedList5、node(int index) 返回索引位置的节点6、clear()7、添加8、删除9、indexOf(E element) 1、单链表 📕动态数组有个明显的缺点 🖊 可能会造成内存空间的大量浪费 📕 能否…

云原生架构(微服务、容器云、DevOps、不可变基础设施、声明式API、Serverless、Service Mesh)

前言 读完本文,你将对云原生下的核心概念微服务、容器云、DevOps、Immutable Infrastructure、Declarative-API、Serverless、Service Mesh 等有一个相对详细的了解,帮助你快速掌握云原生的核心和要点。 因题主资源有限, 这里会选用部分云服务商的组件进…

算法沉淀——拓扑排序

前言: 首先我们需要知道什么是拓扑排序? 在正式讲解拓扑排序这个算法之前,我们需要了解一些前置知识(和离散数学相关) 1、有向无环图: 指的是一个无回路的有向图。 入度:有向图中某点作为图…

数字图像处理——直方图的均衡化

1.方法简介: 直方图均衡化通常用来增加许多图像的全局对比度,尤其是当图像的有用数据的对比度相当接近的时候。通过这种方法,亮度可以更好地在直方图上分布。这样就可以用于增强局部的对比度而不影响整体的对比度,直方图均衡化通…

01---java面试八股文——mybatis-------10题

1、什么是MyBatis Mybatis是一个半ORM(对象关系映射)框架,它内部封装了JDBC,开发时只需要关注SQL语句本身,不需要花费精力去处理加载驱动、创建连接、创建statement等繁杂的过程。程序员直接编写原生态sql&#xff0c…

基于51单片机和MAX1898的智能手机充电器设计

**单片机设计介绍,基于51单片机和MAX1898的智能手机充电器设计 文章目录 一 概要二、功能设计设计思路 三、 软件设计原理图 五、 程序六、 文章目录 一 概要 基于51单片机和MAX1898的智能手机充电器设计概要 一、引言 随着智能手机的普及,其电池续航…

图像分类实战:深度学习在CIFAR-10数据集上的应用

1.前言 图像分类是计算机视觉领域的一个核心任务,算法能够自动识别图像中的物体或场景,并将其归类到预定义的类别中。近年来,深度学习技术的发展极大地推动了图像分类领域的进步。CIFAR-10数据集作为计算机视觉领域的一个经典小型数据集&…

NumPy介绍及其应用领域

1.NumPy介绍 ​NumPy(Numerical Python)是 Python 的一个开源的扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。NumPy的前身为Numeric,起初由Jim Hugunin与其他协作者共同开发&…

机器学习和深度学习的简单对比

如图1-2所示,深度学习(DeepLearning,DL)属于机器学习的子类。它的灵感来源于人类大脑的工作方式,这是利用深度神经网络来解决特征表达的一种学习过程。深度神经网络本身并非是一个全新的概念,可理解为包含多…

Python基础入门 --- 9.异常、模块

文章目录 第九章:9.异常9.1 异常的捕获9.1.1 捕获指定异常9.1.2 捕获多个异常9.1.3 捕获全部异常9.1.4 异常else9.1.5 异常的finally 9.2 异常的传递性9.3 Python模块9.3.1 模块的导入import模块名from 模块名 import 功能名from 模块名 import *as定义别名 9.3.2 自…

2024年水电站大坝安全监测工作提升要点

根据《水电站大坝运行安全监督管理规定》(国家发改委令第23号)和《水电站大坝运行安全信息报送办法》(国能安全〔2016〕261号)的相关规定、要求,电力企业应当在汛期向我中心报送每日大坝汛情。近期,全国各地…

帆软报表踩坑日记

最近公司项目要是使用报表,公司使用的是帆软这个国产软件,自己也是学习使用,在使用的过程中记一下问题以及解决方式 公司使用的是帆软8这个版本,比较老了。 首先是表格中的扩展,就是当我们根据数据库查询数据然后放到表…