关于睡眠健康数据集的探索

简介: 关于睡眠健康数据集的探索

一、项目描述


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");

1696837816531.jpg

目录
相关文章
|
1月前
|
机器学习/深度学习 数据采集 算法
乳腺癌治疗创新:特征权重分配引领精准医学
乳腺癌治疗创新:特征权重分配引领精准医学
45 1
|
1月前
|
机器学习/深度学习 数据采集 算法
女性健康守护者:随机森林与校准曲线助力乳腺癌早期诊断!
女性健康守护者:随机森林与校准曲线助力乳腺癌早期诊断!
56 0
|
7天前
|
机器学习/深度学习 数据采集 算法
基于机器学习的糖尿病风险预警分析系统是一个非常有用的应用
基于机器学习的糖尿病风险预警分析系统是一个非常有用的应用
14 1
|
9天前
|
机器学习/深度学习 数据采集 监控
基于机器学习的糖尿病风险预警分析系统
基于机器学习的糖尿病风险预警分析系统
19 1
|
1月前
|
数据采集 自然语言处理 算法
疾病关联网络构建及并发症预测模型
疾病关联网络构建及并发症预测模型
|
1月前
|
机器学习/深度学习 数据可视化 数据挖掘
SPSS用K均值聚类KMEANS、决策树、逻辑回归和T检验研究通勤出行交通方式选择的影响因素调查数据分析
SPSS用K均值聚类KMEANS、决策树、逻辑回归和T检验研究通勤出行交通方式选择的影响因素调查数据分析
|
1月前
|
机器学习/深度学习 数据采集 算法
机器学习赋能乳腺癌预测:如何使用贝叶斯分级进行精确诊断?
机器学习赋能乳腺癌预测:如何使用贝叶斯分级进行精确诊断?
55 0
|
1月前
|
机器学习/深度学习 搜索推荐 算法
癌症预测新利器:弹性逻辑回归让健康更可控!
癌症预测新利器:弹性逻辑回归让健康更可控!
41 1
|
1月前
|
机器学习/深度学习 算法 数据可视化
突破传统生存分析:利用随机森林进行个体化风险预测
突破传统生存分析:利用随机森林进行个体化风险预测
232 0
突破传统生存分析:利用随机森林进行个体化风险预测
|
1月前
|
机器学习/深度学习 搜索推荐 算法
改变癌症诊断!梯度提升方法可准确预测癌症患者的生存风险!
改变癌症诊断!梯度提升方法可准确预测癌症患者的生存风险!
30 0