在19年11月的时候买了一个运动手环,然后时不时会用它来记录睡眠数据;积累到现在已经有40个月了。现在想要调整作息,分析一下这些数据,来制定合理的作息计划。

图1 月平均入睡时间

从图1可以看出,我最经常的入睡时间是(02:00:00~02:10:00)之间;

现在我想要早睡,逐步调整,第一个目标值就是(00:50:00~01:00:00)之间,也就意味着我要在(00:20:00~00:30:00)停止刷手机【躺下到入睡需要30分钟】

 图2 月平均入睡时间
从图2可以看出,我经常在(08:00:00~08:10:00)以及(08:40:00~08:50:00)之间醒来。
为了保证睡眠充足,选(08:40:00~08:50:00)作为起床闹钟时间。

图3 各月睡眠时间条形图

#coding:utf8

import numpy as np
import pandas as pd
import matplotlib as mpl
import matplotlib.pyplot as plt
mpl.use("TkAgg")
import time
import datetime """
目标:统计分析出月入睡时间的数据
大纲: """ """
读取excel
------------------------------
月份 入睡时间 起床时间
2019年11月 1:44:00 9:11:00
2019年12月 1:45:00 9:12:00
------------------------------
"""
df = pd.read_excel('./入睡时间月级.xls', sheet_name=0) # 数据准备 按列获取数据作为x坐标轴
x = df['月份'].to_numpy()
y1 = np.array([])
for item in df['入睡时间'].to_numpy():
y1 = np.append(y1,item.hour+(item.minute)/100) y2 = np.array([])
for item in df['起床时间'].to_numpy():
y2 = np.append(y2,item.hour+(item.minute)/100) y3 = np.array([])
for item in (pd.to_timedelta(df['起床时间'].to_numpy().astype(str)) - pd.to_timedelta(df['入睡时间'].to_numpy().astype(str))):
y3 = np.append(y3,(item.seconds)/3600) # 画图1 月平均入睡时间频数图
bins = [0.1,0.2,0.4,0.5,1.0,1.1,1.2,1.3,1.4,1.5,2.0,2.1,2.2,2.3,2.4,2.5,3.0,4.0,5.0,6.0]
segments = pd.cut(y2,bins,right=False)
counts = pd.value_counts(segments,sort=False)
b = plt.bar(counts.index.astype(str),counts)
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.xticks(rotation=45)
plt.bar_label(b,counts)
plt.xlabel("月平均入睡时间")
plt.ylabel("次")
plt.title("入睡时间频数图")
plt.show() # 画2 月平均起床时间频数图
# bins = [7.4,7.5,8.0,8.1,8.2,8.3,8.4,8.5,9.0,9.1,9.2,9.3,9.4,9.5,10.0,10.1,10.2,10.3,11.0]
# segments = pd.cut(y2,bins,right=False)
# counts = pd.value_counts(segments,sort=False)
# b = plt.bar(counts.index.astype(str),counts)
# plt.rcParams['font.sans-serif'] = ['SimHei']
# plt.xticks(rotation=45)
# plt.bar_label(b,counts)
# plt.xlabel("月平均起床时间")
# plt.ylabel("次")
# plt.title("起床时间频数图")
# plt.show() # 画图3 直方图
# plt.rcParams['font.sans-serif'] = ['SimHei']
# plt.bar(x,y2)
# plt.bar(x,y1)
# plt.plot(x,y3,'r')
# plt.xticks(rotation=60)
# plt.show()

Python分析睡眠数据的更多相关文章

  1. Twitter数据挖掘:如何使用Python分析大数据

    我们可以创建变量来存放待拉取的微博数量(即count),以及待拉取的用户(即name).然后用这两个参数调用user_timeline()函数.下面是更新后的代码(注意,在代码的顶部应该保持认证和AP ...

  2. Twitter数据挖掘:如何使用Python分析大数据 (3)

    让我们来拉取Twitter账号@NyTimes的最近20条微博. 我们可以创建变量来存放待拉取的微博数量(即count),以及待拉取的用户(即name).然后用这两个参数调用user_timeline ...

  3. 用python探索和分析网络数据

    Edited by Markdown Refered from: John Ladd, Jessica Otis, Christopher N. Warren, and Scott Weingart, ...

  4. Python分析数据难吗?某科技大学教授说,很难但有方法就简单

    用python分析数据难吗?某科技大学的教授这样说,很难,但要讲方法,主要是因为并不是掌握了基础,就能用python来做数据分析的. 所谓python的基础,也就是刚入门的python学习者,学习的基 ...

  5. python 发送json数据操作实例分析 - python

    文章来源:嗨学网 敏而好学论坛www.piaodoo.com 欢迎大家相互学习 本文实例讲述了python 发送json数据操作.分享给大家供大家参考,具体如下: # !/usr/bin/env py ...

  6. Python/Numpy大数据编程经验

    Python/Numpy大数据编程经验 1.边处理边保存数据,不要处理完了一次性保存.不然程序跑了几小时甚至几天后挂了,就啥也没有了.即使部分结果不能实用,也可以分析程序流程的问题或者数据的特点.   ...

  7. 为什么说Python 是大数据全栈式开发语言

    欢迎大家访问我的个人网站<刘江的博客和教程>:www.liujiangblog.com 主要分享Python 及Django教程以及相关的博客 交流QQ群:453131687 原文链接 h ...

  8. 用Python浅析股票数据

    用Python浅析股票数据 本文将使用Python来可视化股票数据,比如绘制K线图,并且探究各项指标的含义和关系,最后使用移动平均线方法初探投资策略. 数据导入 这里将股票数据存储在stockData ...

  9. 利用Python读取外部数据文件

      不论是数据分析,数据可视化,还是数据挖掘,一切的一切全都是以数据作为最基础的元素.利用Python进行数据分析,同样最重要的一步就是如何将数据导入到Python中,然后才可以实现后面的数据分析.数 ...

  10. 世界杯:用Python分析热门夺冠球队-(附源代码)

    2018年,火热的世界杯即将拉开序幕.在比赛开始之前,我们不妨用 Python 来对参赛队伍的实力情况进行分析,并大胆的预测下本届世界杯的夺冠热门球队. 通过数据分析,可以发现很多有趣的结果,比如: ...

随机推荐

  1. 如何通过free看懂内存的真实使用

    之前有位同事问过Linux系统内存free命令下各参数的区别与关系,自己也没太明白,有点尴尬.今天整理一下,供了解. free命令是Liunx操作系统中对内存进行查看和监控的一个常用命令.我们可以直接 ...

  2. Django的简单使用

    Django 基础简介 基础简介 1. 软件框架 一个公司是由公司中的各部部门来组成的,每一个部门拥有特定的职能,部门与部门之间通过相互的配合来完成让公司运转起来. 一个软件框架是由其中各个软件模块组 ...

  3. windows安装nodejs

    安装nodejs 1.官网地址: http://nodejs.cn/download 2.选择下载路径 直接无脑下一步安装 3.安装成功之后 node -v 显示nodejs版本 npm -v 显示安 ...

  4. 2022-11-13 Acwing每日一题

    本系列所有题目均为Acwing课的内容,发表博客既是为了学习总结,加深自己的印象,同时也是为了以后回过头来看时,不会感叹虚度光阴罢了,因此如果出现错误,欢迎大家能够指出错误,我会认真改正的.同时也希望 ...

  5. halcon如何识别硬币?

    halcon如何识别硬币? 前言 最近一直在学习halcon,在此做了一个案例,分享给大家,效果图如下: 1.思路分析 通过观察,发现1元,5角,1角,它们在面值的文字描述不一样,硬币显示的花纹不一样 ...

  6. 基于python的数学建模---Fuzzy C-Means(模糊C均值聚类)

    簇数的确定: 要用到k-means里面的轮廓系数 基于python的数学建模---轮廓系数的确定 - 坤丶 - 博客园 (cnblogs.com) 模糊c的代码 import copy import ...

  7. 在服务器上搭建Jenkins自动化部署工具

    在公司发现很多时候都需要手动部署,然后有天听到自动部署这个词想着有没有什么工具能够自动部署项目,最好能自动化部署前后端生成 docker images 运行方便管理.最后经过我各种筛查,发现用 jen ...

  8. ArcGIS QGIS学习二:图层如何只显示需要的部分几何面数据(附最新坐标边界下载全国省市区县乡镇)

    目录 前言 准备SHP数据 ArcMap 的筛选 QGIS 的筛选 如何编写查询条件 前言 当我们用GIS软件打开一个SHP文件的时候,会显示出里面全部的几何图形,假如我只想要其中的一部分数据显示出来 ...

  9. js-day02-综合案例ATM存款书写

     <script>                 // 1. 不断的弹出对话框         // 3. 金额的变量         let money = 100         w ...

  10. 纷繁复杂见真章,华为云产品需求管理利器CodeArts Req解读

    摘要:到底什么是需求?又该如何做好需求管理? 本文分享自华为云社区<纷繁复杂见真章,华为云产品需求管理利器 CodeArts Req 解读>,作者:华为云头条 . 2022 年 8 月,某 ...