睡眠和日常习惯数据分析

释放双眼,带上耳机,听听看~!
这篇文章详细描述了睡眠和日常习惯数据集的项目描述、数据分析及相关问题,涵盖了睡眠指标、生活方式因素、心血管健康和睡眠障碍分析。文章通过数据读取、数据类型和数据来源等方面进行详细阐述,对于研究睡眠和日常习惯的数据科学家和健康管理者具有一定的参考价值。

一、项目描述

1.背景描述

本数据集涵盖了与睡眠和日常习惯有关的诸多变量。如性别、年龄、职业、睡眠时间、睡眠质量、身体活动水平、压力水平、BMI类别、血压、心率、每日步数、以及是否有睡眠障碍等细节。

2.数据说明

解释说明:睡眠障碍

类型 说明
没有表现出任何特定的睡眠障碍。
失眠 有入睡或保持睡眠的困难,导致睡眠不足或质量差
睡眠呼吸暂停 在睡眠过程中出现呼吸暂停,导致睡眠模式紊乱和潜在的健康风险

3.数据来源

www.kaggle.com/datasets/uo…

4.问题描述

全面的睡眠指标:探索睡眠时间、质量和影响睡眠模式的因素。
生活方式因素:分析身体活动水平、压力水平和BMI类别。
心血管健康:检查血压和心率测量。
睡眠障碍分析:识别睡眠障碍的发生,如失眠和睡眠呼吸暂停。

二、数据分析

1.数据读取

import pandas as pd

# encoding要设置,moren utf-8打不开
data=pd.read_csv('Sleep_health_and_lifestyle_dataset.csv',encoding='gb2312')
data.head()

.dataframe tbody tr th:only-of-type {
vertical-align: middle;
}
.dataframe tbody tr th {
vertical-align: top;
}

.dataframe thead th {
text-align: right;
}

ID 性别 年龄 职业 睡眠时长 睡眠质量 身体活动水平 压力水平 BMI 血压 心率 每日步数 睡眠障碍
0 1 男性 27 软件工程师 6.1 6 42 6 超重 126/83 77 4200
1 2 男性 28 医生 6.2 6 60 8 正常 125/80 75 10000
2 3 男性 28 医生 6.2 6 60 8 正常 125/80 75 10000
3 4 男性 28 销售代表 5.9 4 30 8 肥胖 140/90 85 3000 睡眠呼吸暂停
4 5 男性 28 销售代表 5.9 4 30 8 肥胖 140/90 85 3000 睡眠呼吸暂停

2.值范围分析

data.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 374 entries, 0 to 373
Data columns (total 13 columns):
 #   Column  Non-Null Count  Dtype  
---  ------  --------------  -----  
 0   ID      374 non-null    int64  
 1   性别      374 non-null    object 
 2   年龄      374 non-null    int64  
 3   职业      374 non-null    object 
 4   睡眠时长    374 non-null    float64
 5   睡眠质量    374 non-null    int64  
 6   身体活动水平  374 non-null    int64  
 7   压力水平    374 non-null    int64  
 8   BMI     374 non-null    object 
 9   血压      374 non-null    object 
 10  心率      374 non-null    int64  
 11  每日步数    374 non-null    int64  
 12  睡眠障碍    374 non-null    object 
dtypes: float64(1), int64(7), object(5)
memory usage: 38.1+ KB

分析可见无空值

3.值范围分析

data['BMI'].unique()
array(['超重', '正常', '肥胖'], dtype=object)
data['睡眠障碍'].unique()
array(['无', '睡眠呼吸暂停', '失眠'], dtype=object)
data['职业'].unique()
array(['软件工程师', '医生', '销售代表', '老师', '护士', '工程师', '会计师', '科学家', '律师',       '营业员', '主管'], dtype=object)
data['性别'].unique()
array(['男性', '女性'], dtype=object)
data['血压'].unique()
array(['126/83', '125/80', '140/90', '120/80', '132/87', '130/86',       '117/76', '118/76', '128/85', '131/86', '128/84', '115/75',       '135/88', '129/84', '130/85', '115/78', '119/77', '121/79',       '125/82', '135/90', '122/80', '142/92', '140/95', '139/91',       '118/75'], dtype=object)

4.血压处理

data = pd.concat([data,data['血压'].str.split('/',expand = True)],axis = 1)
data.rename({0:'收缩压',1:'舒张压'},inplace=True,axis=1) 
data['收缩压']=data['收缩压'].astype('float32')
data['舒张压']=data['舒张压'].astype('float32')
data.drop('血压', axis=1)
data.head()

.dataframe tbody tr th:only-of-type {
vertical-align: middle;
}
.dataframe tbody tr th {
vertical-align: top;
}

.dataframe thead th {
text-align: right;
}

ID 性别 年龄 职业 睡眠时长 睡眠质量 身体活动水平 压力水平 BMI 血压 心率 每日步数 睡眠障碍 收缩压 舒张压
0 1 男性 27 软件工程师 6.1 6 42 6 超重 126/83 77 4200 126.0 83.0
1 2 男性 28 医生 6.2 6 60 8 正常 125/80 75 10000 125.0 80.0
2 3 男性 28 医生 6.2 6 60 8 正常 125/80 75 10000 125.0 80.0
3 4 男性 28 销售代表 5.9 4 30 8 肥胖 140/90 85 3000 睡眠呼吸暂停 140.0 90.0
4 5 男性 28 销售代表 5.9 4 30 8 肥胖 140/90 85 3000 睡眠呼吸暂停 140.0 90.0

5.热力图

import matplotlib.pyplot as plt
import seaborn as sns
%matplotlib inline 

plt.figure(figsize=(10,6))
sns.heatmap(data.drop('ID',axis=1).corr(),annot=True,fmt="1.1f");

睡眠和日常习惯数据分析

本网站的内容主要来自互联网上的各种资源,仅供参考和信息分享之用,不代表本网站拥有相关版权或知识产权。如您认为内容侵犯您的权益,请联系我们,我们将尽快采取行动,包括删除或更正。
AI教程

OneFlow自动微分机制实现原理及tensor相关概念

2023-12-18 10:22:14

AI教程

Transformer输入和Embedding实现

2023-12-18 10:26:14

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索