【毕业设计】大数据睡眠数据分析与可视化 - python

这篇具有很好参考价值的文章主要介绍了【毕业设计】大数据睡眠数据分析与可视化 - python。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

0 前言

🔥 Hi,大家好,这里是丹成学长的毕设系列文章!

🔥 对毕设有任何疑问都可以问学长哦!

这两年开始,各个学校对毕设的要求越来越高,难度也越来越大… 毕业设计耗费时间,耗费精力,甚至有些题目即使是专业的老师或者硕士生也需要很长时间,所以一旦发现问题,一定要提前准备,避免到后面措手不及,草草了事。

为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天要分享的新项目是

🚩 基于大数据的睡眠分析

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

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

🧿 选题指导, 项目分享:

https://gitee.com/yaa-dc/BJH/blob/master/gg/cc/README.md

1 数据集

学长爬取和收集的数据集,格式如下
【毕业设计】大数据睡眠数据分析与可视化 - python

2 数据分析可视化

data_sleep<-read.csv("F:/data.csv",header=T)
sleepfre<-as.character(data_sleep$X3.你的熬夜频率是.)
sleepfref<-factor(sleepfre, levels=c("每晚","经常","偶尔","几乎不"),labels=c("5次及以上","3-4次","1-2次","几乎不"),ordered=T)
efficiency<-as.character(data_sleep$X6.熬夜时的学习或者工作效率如何.)
efficiency<-factor(efficiency, levels=c("精神亢奋,效率很高","边际收益递减(即熬得越晚效率越低)"),labels=c('整晚精神亢奋','边际收益递减'))
feeling_tomorrow<-as.character(data_sleep$X7.熬夜对你第二天的学习工作有多大的影响.)
feeling_tomorrow<-factor(feeling_tomorrow,levels=c("熬夜使我快乐","正常,基本没有影响","生理上很疲乏,但是还能撑过去","非常难受,大大降低工作效率"),labels=c("快乐","正常","勉强能坚持工作","工作效率极低"))
datasleepn<-data.frame(sleepfref,efficiency,feeling_tomorrow)
library(ggplot2)
qplot(sleepfre,data =factor(sleepfre, levels=c("每晚","经常","偶尔","几乎不")), geom = "bar")####这句命令运行不了
###“Error: ggplot2 doesn't know how to deal with data of class factor”
###使用ggplot则没有这个问题!!
###在整理数据之前就转化成因子数据的好处在于可以直接使呈现的bar有一个顺序
##尽管使用scale_x_discrete(limits=c())也能实现
fre <- ggplot(datasleepn, aes(x=sleepfref))+geom_bar(fill=c("#F46D43","#F46D43","#74ADD1","#74ADD1"),alpha=0.8)
motherb<-theme_bw()+theme(panel.grid.major = element_line(colour=NA))+theme(panel.grid.minor = element_blank())+theme(panel.border = element_blank())+theme(axis.ticks.x = element_blank())+theme(axis.line.y = element_line())+theme(axis.title.x = element_blank())
###scale_y_continuous(expand=c(0,0))让y轴从0开始
fre+scale_y_continuous(expand=c(0,0))+labs(y="人数")+motherb

【毕业设计】大数据睡眠数据分析与可视化 - python

#############熬夜原因######
causes<-as.character(data_sleep$X5.你通常因为什么原因熬夜.)
causes1<-strsplit(causes,split = "┋")
causes2<-unlist(causes1)
##看一下结果table(causes2)
###causep<-factor(causes2,levels=c( "玩手机(包括但不限于夜聊、刷微博、看视频等)" ,"学习(包括但不限于赶论文、写作业、准备pre材料等)", "追剧或看电影、娱乐节目等" ,"刷课外书(比如小说)","轰趴刷夜","各种比赛、竞赛等课外活动","班级、组织或社团事务"," 他人干扰 ","其他 "),labels=c("玩手机","学习"," 追剧"," 看小说","开party "," 课外竞赛 ","社团事务 "," 他人干扰 ","其他 "))
##p<-ggplot(causep,aes(x=causep))+geom_bar()
##上面两行命令无法做图
##直接使用笨办法
df <- data.frame(table(causes2))
fix(df)
##修改标签名字
p<-ggplot(df,aes(x=熬夜原因,y=频数))+geom_bar(stat = "identity")

【毕业设计】大数据睡眠数据分析与可视化 - python

px1<-seq(from=0,to=10,length=10000)
py1<-sqrt(5^2-(px1-5)^2)

Project1x<-c(px1,rev(px1))
Project1y<-c(py1,-py1)
Project1<-data.frame(lon=Project1x,lat=Project1y)
Project1$group<-"玩手机"
Project1$order<-1:nrow(Project1)

Project2<-data.frame(lon=Project1x+13,lat=Project1y)
Project2$group<-"学习"
Project2$order<-1:nrow(Project2)

Project3<-data.frame(lon=Project1x+26,lat=Project1y)
Project3$group<-"小说追剧开party"
Project3$order<-1:nrow(Project3)

Project4<-data.frame(lon=Project1x+39,lat=Project1y)
Project4$group<-"课外竞赛、班级事务"
Project4$order<-1:nrow(Project4)

Project5<-data.frame(lon=Project1x+52,lat=Project1y)
Project5$group<-"其他 "
Project5$order<-1:nrow(Project5)

Project<-rbind(Project1,Project2,Project3,Project4,Project5)
ggplot(Project)+geom_path(aes(lon,lat,group=group))
##########################
Proj1<-Project1[,1:2]%>%filter(lat<=1.315789)
Proj1[nrow(Proj1)+1,]<-c(8,1.315789)
Proj1$group<-"玩手机"
Proj1$order<-1:nrow(Proj1)

Proj2<-Project2[,1:2]%>%filter(lat<=1)
Proj2[nrow(Proj2)+1,]<-c(18,1)
Proj2$group<-"学习"
Proj2$order<-1:nrow(Proj2)

Proj3<-Project3[,1:2]%>%filter(lat<=0.8684211)
Proj3[nrow(Proj3)+1,]<-c(40,0.8684211)
Proj3$group<-"小说追剧开party"
Proj3$order<-1:nrow(Proj3)

Proj4<-Project4[,1:2]%>%filter(lat<=0.5789474)
Proj4$group<-"课外竞赛、班级事务"
Proj4$order<-1:nrow(Proj4)

Proj5<-Project5[,1:2]%>%filter(lat<=-2.815789)
Proj5$group<-"其他 "
Proj5$order<-1:nrow(Proj5)

Projdata<-rbind(Proj1,Proj2,Proj3,Proj4,Proj5)

labeldata<-data.frame(x=seq(from=5,to=57,length=5),y=c(1.4,1.1,0.95,0.6,-2),label=sprintf("%2d%%",c(63,60,59,56,22)))
###############
p1<-ggplot()+
  geom_polygon(data=Projdata,aes(x=lon,y=lat,group=group),fill=c("#74ADD1"),col=NA,alpha=0.8)+
  geom_path(data=Project,aes(x=lon,y=lat,group=group),col="black",size=1.2)+
  geom_text(data=labeldata,aes(x=x,y=y+1,label=label),hjust=.5,size=5)+
  scale_x_continuous(breaks=labeldata$x,labels=c("玩手机","学习","小说追剧\n开party","课外竞赛\n班级事务","其他"))+
  ylim(-5.5,6)+
  theme_minimal()+
  theme(
    panel.grid=element_blank(),
    axis.title=element_blank(),
    axis.text.y=element_blank(),
    axis.text.x = element_text(size = 13,face="bold"),
    plot.margin = unit(c(.2,.2,1,.2), "cm")
  )
p1

【毕业设计】大数据睡眠数据分析与可视化 - python

p <- ggplot(datasleepn, aes(x=efficiency,fill=feeling_tomorrow))
p+geom_bar()
peffi<-p+geom_bar(position='stack')+scale_fill_manual(values = rev(c("#F46D43","#FDAE61","#ABD9E9","#74ADD1")))
motherb<-theme_bw()+theme(panel.grid.major = element_line(colour=NA))+theme(panel.grid.minor = element_blank())+theme(panel.border = element_blank())+theme(axis.ticks.x = element_blank())+theme(axis.line.y = element_line())
peffi+scale_y_continuous(expand=c(0,0))+labs(x="熬夜当晚效率",y="人数",fill="熬夜次日状态")+motherb

【毕业设计】大数据睡眠数据分析与可视化 - python

3 个人随眠数据分析

学长平时有着记录起息时间的习惯,目前积攒了两个月的数据,心血来潮,就想画画图,分析一下数据之间有着什么关系。

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from dateutil.parser import parse
from pandas import DataFrame

def time_to_int(num):
    integer_part = int(num)
    fractional_part = num - integer_part
    new_fractional_part = fractional_part * 5/3
    new_num = integer_part + new_fractional_part
    return float('%.2f'%new_num)

filename =  'C:/my python/python code/my_life_anlyze/3-4.csv'

morning = []
sleep = []
new_sleep_time = []
data = pd.read_csv(filename, header=0)
data.dropna(axis=0, inplace=True)

for i in data.morning:
    morning.append(time_to_int(i))
for i in data.night:
    sleep.append(time_to_int(i))
print(morning)
print(sleep)
sleep_time = np.array(morning) - np.array(sleep)
for i in sleep_time:
    if i < 0:
        i = i + 24
    new_sleep_time.append(i)
print(new_sleep_time)


time_record = [morning, sleep]
data1 = DataFrame(morning, index=data.date, columns=['mornig'])
data2 = DataFrame(sleep, index=data.date, columns=['sleep'])
data3 = DataFrame(time_record, index=['morning', 'sleep'], columns=data.date)
data4 = data3.T
data5 = DataFrame(new_sleep_time, index=data.date, columns=['sleep_time'])
pd.scatter_matrix(data5)

#print(data4)
#pd.scatter_matrix(data1)
#pd.scatter_matrix(data2)
#plt.scatter(sleep, data.date)
#pd.scatter_matrix(data4.loc[:,'morning':'sleep'], figsize=(12,8), diagonal='kde')
#plt.bar(data.date, new_sleep_time)
#plt.scatter(sleep, new_sleep_time)
plt.show()

在这里耍了一个小聪明,因为python与matlab不同,python的时间数据类型像是一个时间流,就是说每一个时间都是确定唯一的。举个例子,你如果想单单用0-24小时来做横坐标是做不到的,它前面必定(即使不显示)还有个年月日的日期,如果你不显示要求它就默认为今天。

所以我想横坐标是我从3.12-5.1这些天数,而纵坐标是0-24小时如何实现呢?我把我睡觉、起床的时间用浮点数据来表示,区间是[0,24],再把六十进制转化为一百进制就可以精确表示时间了,这也是函数time_to_int(num)的功能。

【毕业设计】大数据睡眠数据分析与可视化 - python

【毕业设计】大数据睡眠数据分析与可视化 - python

【毕业设计】大数据睡眠数据分析与可视化 - python

【毕业设计】大数据睡眠数据分析与可视化 - python

【毕业设计】大数据睡眠数据分析与可视化 - python

从这5张图中可以很直观的看出来,我在8:20-8:40这个时间段起床的频率尤其的高。震惊我自己的是竟然有三次是在5点就起床了,当然那只是昙花一现。

而我晚上睡觉集中在23:00-次日1点之间,在零点入睡的频率更为高一些。

【毕业设计】大数据睡眠数据分析与可视化 - python

【毕业设计】大数据睡眠数据分析与可视化 - python

这两张图所表达的意思是,每天的睡眠时间以及频率图。可知我每天睡七个半小时到八个半小时是最多的,但是睡九到十个小时的懒觉的时候也是很多.

【毕业设计】大数据睡眠数据分析与可视化 - python
这张图比较难以理解,也不是很直观,却很重要,里面有些规律因为数据量太少而并不直观。但是这毕竟是我的生活,我还是很敏锐的发现了一些规律。

这张图说的是晚上入睡时间点和睡眠时间长度之间的关系。大家可以很清晰得看出来,凡是零点以前入睡的,睡眠时间都至少大于六个小时。而零点以后入睡的呢?有五次睡眠时间不足六小时,有两次连四个小时都不到,说明睡眠质量已经差到一定地步了。

还有一个规律,那就是无论时零点前入睡,还是零点后入睡,散点都呈现着集中在八小时周围并向外延伸蔓延的规律,可见八小时睡眠是我最佳的睡眠时间长度。再仔细分析一下呢,零点前入睡我睡眠时间多在8-10这个区间,而零点后却不这样,在6-10区间内呈近似正态分布。当然这有可能是数据太少的原因,等我攒足了数据,再做仔细分析。文章来源地址https://www.toymoban.com/news/detail-487401.html

4 最后

到了这里,关于【毕业设计】大数据睡眠数据分析与可视化 - python的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 数据分析毕业设计 大数据招聘岗位数据分析与可视化 - 爬虫 python

    # 1 前言 🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。 为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项

    2024年02月10日
    浏览(32)
  • 毕业设计 英雄联盟数据分析与预测 -大数据分析 可视化 机器学习

    🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。 为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天

    2024年02月05日
    浏览(96)
  • 毕业设计 基于大数据的旅游数据分析与可视化系统

    🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。 为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天

    2023年04月26日
    浏览(69)
  • 大数据毕业设计 共享单车数据分析与可视化系统 - Python

    🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。 为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天

    2024年02月06日
    浏览(40)
  • Python毕业设计 大数据B站数据分析与可视化

    🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。 为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天

    2024年02月06日
    浏览(30)
  • 【毕业设计】奥运会数据分析与可视化 - python 大数据

    🔥 Hi,大家好,这里是丹成学长的毕设系列文章! 🔥 对毕设有任何疑问都可以问学长哦! 这两年开始,各个学校对毕设的要求越来越高,难度也越来越大… 毕业设计耗费时间,耗费精力,甚至有些题目即使是专业的老师或者硕士生也需要很长时间,所以一旦发现问题,一定

    2024年02月05日
    浏览(29)
  • 大数据毕业设计 Python疫情数据分析可视化系统 - 网络爬虫

    🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。 为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天

    2024年02月02日
    浏览(34)
  • 毕业设计 Python社交平台舆情分析与可视化 - 数据爬虫 大数据

    🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。 为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天

    2024年02月08日
    浏览(36)
  • 毕业设计 基于大数据的游数据分析可视化系统(源码分享)

    今天学长向大家分享一个毕业设计项目 毕业设计 基于大数据的游数据分析可视化系统(源码分享) 演示效果 毕业设计 大同旅游数据分析可视化系统 项目获取: https://gitee.com/sinonfin/algorithm-sharing 精神文明日益发展的今天, 出行旅游成为人们的主要休闲方式和社会经济活动, 旅游

    2024年02月04日
    浏览(36)
  • 毕业设计 大数据抖音短视频数据分析与可视化(源码)

    🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。 为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天

    2024年02月02日
    浏览(31)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包