数据可视化技术与应用(Python) 课件 项目6:疾病数据可视化项目实战_第1页
数据可视化技术与应用(Python) 课件 项目6:疾病数据可视化项目实战_第2页
数据可视化技术与应用(Python) 课件 项目6:疾病数据可视化项目实战_第3页
数据可视化技术与应用(Python) 课件 项目6:疾病数据可视化项目实战_第4页
数据可视化技术与应用(Python) 课件 项目6:疾病数据可视化项目实战_第5页
已阅读5页,还剩76页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

疾病数据可视化项目实战数据可视化技术与应用项目导读

对普通大众来说,将疾病数据可视化能够为其提供帮助。本项目旨在通过可视化的方式展示疾病数据,包括心血管疾病与年龄相关性数据、心血管疾病与酒精摄入量相关性数据,以及心脏疾病相关数据。利用数据可视化技术,将这些数据以堆叠柱状图和小提琴图的形式展示出来,可以方便人们更好地分析引起疾病的相关因素。项目导读01健康意识提升03科学决策支持02疾病预防和管理通过疾病数据的可视化展示,能够更直观地了解心血管疾病与年龄、酒精摄入量等因素之间的关系。这有助于提高对健康风险的认识,引发对潜在疾病因素的关注,并更好地调整生活方式和饮食习惯。通过对疾病数据进行可视化分析,可以了解不同因素对心血管疾病和心脏疾病的影响程度。这有助于更好地预防和管理疾病,例如控制饮食、限制酒精摄入量、加强锻炼等,以降低患病风险和改善生活质量。疾病数据可视化项目为普通大众提供了直观的数据展示,能够更好地了解疾病的发病因素和相关规律。这将为政府、医疗机构和相关决策者提供有价值的参考,帮助他们制定更科学和有效的疾病预防和管理策略。项目目标学习目标能力目标素养目标掌握使用Plotly模块绘制堆叠柱状图的方法掌握使用Plotly模块绘制小提琴图的方法从数据的角度能了解小提琴图的使用场景从数据的角度区分柱状图、分组柱状图和堆叠柱状图的使用场景通过疾病数据可视化培养学生的科学精神,了解科学方法和数据分析在疾病研究和预防控制中的重要性心血管疾病与年龄相关性数据可视化项目实战心血管疾病与身高和体重相关性数据可视化项目实战心脏疾病相关性数据可视化项目010302总结与建议04目录CONCENTS6-1心血管疾病与年龄相关性数据可视化项目实战检查心血管疾病与年龄相关性数据的异常值使用堆叠柱状图进行数据可视化分析0102目录CONCENTS6-1-1检查心血管疾病与年龄相关性数据的异常值检查心血管疾病与年龄相关性数据的异常值-数据概述素材与案例\项目6\数据集\心血管疾病数据集.CSV

检查心血管疾病与年龄相关性数据的异常值-数据概述字段名称字段含义idIDage年龄(天)gender性别height身高(厘米)weight体重(千克)ap_hi收缩压ap_lo舒张压cholesterol胆固醇,1:正常;2:高于正常;3:远高于正常gluc葡萄糖,1:正常;2:高于正常;3:远高于正常smoke病人是否吸烟alco酒精摄入量active体育活动cardio有无心血管疾病检查心血管疾病与年龄相关性数据的异常值-年龄异常值任务一对于“Age”列是年龄,那么年龄的范围不能过大,可以假定年龄的范围是20-100,那么不在此范围的年龄被视为异常值,通过以下代码完成异常值的过滤。检查心血管疾病与年龄相关性数据的异常值-年龄异常值importpandasaspd#读取CSV文件df=pd.read_csv(r'C:\Users\Administrator\Desktop\心血管疾病数据集.csv')#将“age”列除以365并取整df['age']=(df['age']/365).astype(int)#检查“age”列的范围并打印出不在20-100之间的行号invalid_age_indices=df[(df['age']<20)|(df['age']>100)].indexprint("不在20-100范围内的行:",invalid_age_indices)代码如下:可知代码输出没有发现“age”列的异常值检查心血管疾病与年龄相关性数据的异常值-年龄异常值运行结果:检查心血管疾病与年龄相关性数据的异常值-年龄异常值df['age']=(df['age']/365).astype(int)这行代码针对DataFrame中的“age”列,将其除以365并转换为整数类型,以实现将年龄转换为天数,并且取整以得到年龄的整数值。invalid_age_indices=df[(df['age']<20)|(df['age']>100)].index这行代码通过条件筛选,找出“age”列中不在20-100范围内的行,并使用index属性获取这些行的索引。代码讲解:检查心血管疾病与年龄相关性数据的异常值-年龄异常值任务二对于“cardio”列表示有无心血管疾病,通过使用0和1来表示,那么在这一列中不能出现除了0和1之外的数字或字符,通过以下代码来过滤“cardio”列中的异常值。检查心血管疾病与年龄相关性数据的异常值-年龄异常值#读取CSV文件importpandasaspd#读取CSV文件心血管疾病数据集df=pd.read_csv(r'C:\Users\Administrator\Desktop\心血管疾病数据集.csv')#筛选出“cardio”列中不是0或1的行invalid_cardio_rows=df[~df['cardio'].isin([0,1])]ifinvalid_cardio_rows.empty:print("没有异常值")else:print("不是0或1的行号和内容:")forindex,rowininvalid_cardio_rows.iterrows():print(f"行号:{index},内容:{row['cardio']}")代码如下:可知代码输出没有发现“cardio”列的异常值检查心血管疾病与年龄相关性数据的异常值-年龄异常值运行结果:检查心血管疾病与年龄相关性数据的异常值-年龄异常值df['cardio'].isin([0,1])

使用isin([0,1])方法来检查“cardio”列中的值是否是0或者1。这个方法返回一个布尔类型的Series,标记了是否满足条件。~:~符号代表逻辑取反,将满足条件的行变为False,不满足条件的行变为True。代码讲解:6-1-2使用堆叠柱状图进行数据可视化分析使用堆叠柱状图进行数据的可视化分析知识新知堆叠柱状图可以用于比较销售数据、分析人口统计数据、展示支出构成以及进行市场份额分析。通过将数据以堆叠的方式呈现,这种图表能够直观地显示不同组成部分的相对比例和差异,帮助我们更好地理解数据的分布和关系。无论是经营决策、预算分配还是市场竞争分析,堆叠柱状图都可以提供直观且易于理解的视觉展示。在堆叠柱状图中,每个柱子代表一个类别或组别,而柱子的高度表示该类别或组别的数值。不同类别或组别的柱子在同一个位置上堆叠,并通过颜色来区分。任务一对心血管疾病与年龄相关性数据进行堆叠柱状图的可视化分析。使用堆叠柱状图进行数据的可视化分析使用堆叠柱状图进行数据的可视化分析importplotly.expressaspximportcsvimportpandasaspddata=[]withopen(r'C:\Users\Administrator\Desktop\心血管疾病数据集.csv',newline='')ascsvfile:reader=csv.DictReader(csvfile)forrowinreader:row['age_years']=int(int(row['age'])/365)data.append(row)df=pd.DataFrame(data)代码如下:使用堆叠柱状图进行数据的可视化分析grouped=df.groupby(['age_years','cardio']).size().unstack().reset_index()grouped=grouped.fillna(0)fig=px.bar(grouped,x='age_years',y=['0','1'],barmode='stack',labels={'0':'No','1':'Yes'},title='心血管疾病与年龄相关性')fig.update_layout(xaxis_title='年龄',yaxis_title='数量(单位:人)',title={'text':'心血管疾病与年龄相关性','x':0.5})fig.update_xaxes(type='category',categoryorder='categoryascending')fig.show()代码如下:

由图可以看出,心血管疾病和年龄有很强的关联性,当年龄达到55岁后得心血管疾病的概率会增大,那么作为老年人,更需要提防心血管疾病,防范于未然。使用堆叠柱状图进行数据的可视化分析运行结果:使用堆叠柱状图进行数据的可视化分析在上述代码中引出了importplotly.expressaspx,plotly.express是Plotly库中的一个模块,它提供了一种简单而直观的方法来创建高级可视化图表。plotly.express模块有以下主要特点和功能。代码讲解:使用堆叠柱状图进行数据的可视化分析代码讲解:plotly.express模块特点和功能描述简单易用

提供了简化的API,只需使用一两行代码即可创建多种类型的图表,如散点图、线图、柱状图、面积图、箱线图、饼图等。自动推断

该模块能够根据数据的类型和结构自动推断出适合的图表类型。只需提供数据和指定要使用的列,plotly.express会根据数据特征自动生成合适的可视化图表。高级可视化

除了基本图表类型,plotly.express还支持许多高级可视化功能,如热力图、3D图、地理地图、动画效果等。这些功能使能够创建更复杂、更具交互性的可视化图表。交互式可视化

生成的图表具有交互性,可以通过缩放、平移、悬停和单击等操作与图表进行互动。此外,还可以将图表嵌入到Web应用程序中,或以静态图像的形式保存。使用堆叠柱状图进行数据的可视化分析代码讲解:除了plotly.express模块值得注意,代码实现中的plotly.express.bar()也同样值得解释说明,plotly.express.bar()函数是plotly.express模块中用于创建柱状图的函数。它提供了简洁的API界面,使得创建柱状图变得更加简单和直观。以下是plotly.express.bar()函数的一般语法:plotly.express.bar(data_frame,x,y,color,facet_row,facet_col,facet_col_wrap,hover_name,hover_data,custom_data,text,base,error_x,error_x_minus,error_y,error_y_minus,animation_frame,animation_group,category_orders,labels,orientation,barmode,barnorm,log_x,log_y,range_x,range_y,title,template,width,height,opacity,color_discrete_sequence,color_discrete_map,color_continuous_scale,range_color,color_continuous_midpoint)使用堆叠柱状图进行数据的可视化分析代码讲解:考虑到上述参数较多,只解释常用的参数。data_frame:提供数据的pandas.DataFrame对象。x:x轴上的变量名称,通常代表分类数据。y:y轴上的变量名称,通常代表计数或度量值。color:用于根据数据框中某列的值给条形图上的条形着色。orientation:条形图的方向。如果是'h'则为水平条形图,如果是'v'则为垂直条形图。title:图表标题文本,可以是字符串。使用堆叠柱状图进行数据的可视化分析代码讲解:labels:一个字典,用来重命名列名或者图例标签。template:图表的样式模板,如'plotly'(中性的颜色),

'plotly_white'(纯白色背景),

'plotly_dark'(深色背景)等width:图表的宽度,以像素为单位。height:图表的高度,以像素为单位。facet_row:按照该列的不同值创建子图的行。facet_col:按照该列的不同值创建子图的列。barmode:指定柱状图的显示模式,可选值为"group"(分组柱状图)或"stack"(堆叠柱状图)。使用堆叠柱状图进行数据的可视化分析代码讲解:下面解释上述代码中的px.bar(grouped,x='age_year',y=['0','1’],barmode='stack',labels={'0':'No','1':'Yes’},title='心血管疾病与年龄相关性')这组代码。x='age_years'是指定x轴要使用的数据列或列名为age_years,x轴将显示年龄。y=['0','1']表示y轴将显示两个数据列,barmode='stack'指定柱状图的显示模式为堆叠模式。根据上述参数解释,当barmode=“group”时,即为分组柱状图,修改这组代码为px.bar(groupedx='age_years',y=['0','1’],barmode=group’,labels={'0':'No','1':'Yes'},title='心血管疾病与年龄相关性'),即可以分组柱状图的形式显示。使用堆叠柱状图进行数据的可视化分析代码讲解:使用堆叠柱状图进行数据的可视化分析代码讲解:

那么代码实现中的px.bar(grouped,x='age_years',y=['0','1'],barmode='stack',labels={'0':'No','1':'Yes'},title='心血管疾病与年龄相关性')这行代码就可以解释。x='age_years'是指定x轴要使用的数据列或列名为'age_years',x轴将显示年龄。y=['0','1']表示y轴将显示两个数据列,barmode='stack指定柱状图的显示模式为堆叠模式,那么根据上述参数解释,当barmode="group"即为分组柱状图,那么修改此行代码为px.bar(grouped,x='age_years',y=['0','1'],barmode='group',labels={'0':'No','1':'Yes'},title='心血管疾病与年龄相关性')即可以分组柱状图显示,如下图所示。上图与项目5同样可以实现分组柱状图的展示,只是两者所用的函数是不同的,在项目5中是通过groupby()函数和plot(kind='bar')实现,在项目5中通过使用groupby()将年份和季度进行分组,并使用matplotlib的plot(kind='bar')方法绘制了柱状图。而本项目中的plotly.express.bar(barmode="group")是PlotlyExpress库的函数,提供了更高级的绘图功能。它可以轻松实现分组柱状图,并提供了更多的定制选项。使用barmode="group"参数可以显示分组柱状图,而无需手动进行数据处理和设置颜色。6-2心血管疾病与身高和体重相关性数据可视化项目实战心血管疾病与身高和体重相关性数据的操作使用小提琴图进行数据可视化分析0102目录CONCENTS心血管疾病与身高和体重相关性数据的操作6-2-1心血管疾病与身高和体重相关性数据的操作-数据概述

在本子项目中,使用在子项目一中的“心血管疾病数据集.csv”数据集,只不过本子项目中,使用数据集中的三列数据,分别是“height”、“weight”和“cardio”,如图6-7所示。对于这三列数据,在子项目一中已经处理了“cardio”列的数据心血管疾病与身高和体重相关性数据的操作

通过过滤异常值和删除重复行来处理其他两列的数据。任务一首先采用3σ原则来过滤异常值,并将结果保存到新的“filtered_心血管疾病数据集.csv”文件中。心血管疾病与身高和体重相关性数据的操作importpandasaspdimportnumpyasnpdf=pd.read_csv(r'C:\Users\Administrator\Desktop\心血管疾病数据集.csv')#定义一个函数来检查数值是否异常defcheck_value(height,weight):#计算均值和标准差mean_height=np.mean(df['height'])std_dev_height=np.std(df['height'])mean_weight=np.mean(df['weight’]std_dev_weight=np.std(df['weight'])#使用3σ原则过滤异常值代码如下:心血管疾病与身高和体重相关性数据的操作ifheight>(mean_height+3*std_dev_height)orheight<(mean_height-3*std_dev_height):returnTrueelifweight>(mean_weight+3*std_dev_weight)orweight<(mean_weight-3*std_dev_weight):returnTrueelse:returnFalse#使用apply函数过滤异常值filtered_df=df.apply(lambdax:xifnotcheck_value(x['height'],x['weight'])elseNone,axis=1)代码如下:心血管疾病与身高和体重相关性数据的操作#去除空值行filtered_df=filtered_df.dropna()#计算异常值的行数num_rows_with_outliers=df.shape[0]-filtered_df.shape[0]#输出异常值的行数print("异常值的行数:",num_rows_with_outliers)#将结果保存到新的csv文件filtered_df.to_csv(r'C:\Users\Administrator\Desktop\filtered_心血管疾病数据集.csv',index=False)代码如下:运行结果:心血管疾病与身高和体重相关性数据的操作任务二需要处理数据中的空值,对于上述的三列数据,需要查看单元格的内容是否有空值,那么通过以下代码来检查这三列数据的空值情况。使用堆叠柱状图进行数据的可视化分析心血管疾病与身高和体重相关性数据的操作importcsvinput_file=r'C:\Users\Administrator\Desktop\filtered_心血管疾病数据集.csv'withopen(input_file,'r',newline='')asfile:reader=csv.reader(file)data=[rowforrowinreader]#检查第4,5,13列中是否有空值columns_to_check=[3,4,12]#需要检查空值的列索引(从0开始)column_empty=[False,False,False,False]#初始化列的空值检查结果为Falseforrowindata:foriincolumns_to_check:代码如下:心血管疾病与身高和体重相关性数据的操作ifnotrow[i]:column_empty[columns_to_check.index(i)]=True#如果为空值,将对应列的空值检查结果设置为Trueempty_columns=[i+1foriincolumns_to_checkifcolumn_empty[columns_to_check.index(i)]]ifempty_columns:print(f"第{','.join(map(str,empty_columns))}列中存在空值")else:print("所选列均不存在空值")运行结果证明这三列中不含空值,如下图6-9所示。代码如下:心血管疾病与身高和体重相关性数据的操作运行结果:使用小提琴图进行数据可视化分析6-2-2使用小提琴图进行数据可视化分析知识新知小提琴图是一种常用于展示数据分布的统计图表,它结合了箱线图和核密度图的特点,能够展示出数据的分布形状和密度。小提琴图通常由一对称的曲线和中间的盒状图组成,曲线部分代表了数据的核密度估计,盒状图则显示了数据的四分位范围和中位数。小提琴图的曲线部分可以通过宽度来展示数据的分布密度,较宽的部分表示该位置上有更多的数据点,而较窄的部分表示数据点较少。通过观察小提琴图,可以比较不同类别数据的分布情况,识别数据的峰值和密度差异,从而更直观地理解数据的分布,小提琴的主要构成如下图所示。使用小提琴图进行数据可视化分析知识新知由图可以看出小提琴图和箱线图是比较类似的,其实小提琴图和箱线图是两种常用的统计图形,都用于可视化数据的分布情况和统计特征。它们在一些方面有相似之处,但也存在一些明显的差异。如表所示。使用小提琴图进行数据可视化分析知识新知

特点小提琴图箱线图相同点数据分布

两种图形都用于显示数据的分布情况。中位数

两种图形都显示了数据的中位数(即箱线图中的中位数线和小提琴图中的白点)。四分位数

两种图形都显示了数据的四分位数范围(即箱线图中的箱体和小提琴图中的厚实部分)。不同点形状

主要展示数据的五数概括(最小值、下四分位数、中位数、上四分位数、最大值)更详细地显示了数据的整体分布情况密度估计

通过核密度估计曲线显示了数据的密度分布,可以更直观地观察到数据的峰值和尾部情况多变量比较

通过分组、分面或色彩映射来同时比较多个变量之间的分布差异主要用于单个变量的比较异常值

在默认设置下不显示异常值,但可以通过参数设置来显示异常值。明确显示了数据的异常值使用小提琴图进行数据可视化分析知识新知

由上表可以看出小提琴图适用于比较多个变量之间的分布差异,帮助观察数据的整体形状、峰值和尾部情况,尤其适合于展示数据的密度分布和多变量比较。箱线图则更适用于比较单个变量在不同类别或组之间的分布差异,侧重于显示数据的五数概括和异常值,有助于观察数据的中位数、四分位数以及异常值的存在。根据具体分析目的和数据特点,选择适合的图形可以更好地呈现数据的特征和帮助做出合理的分析和决策。小提琴图在以下场景中被应用,并具有如下优势,如表所示。使用小提琴图进行数据可视化分析知识新知小提琴图应用场景优势比较分组数据的分布

能够同时比较多个组或类别之间数值变量的分布情况,使差异更加直观可见。观察数据的中位数和分位数

通过小提琴图,可以直观地观察数据的中位数位置和分布的离散程度,提供了对数据集中趋势的直观认识。数据密度估计

图的宽度表示数据在不同值上的概率密度估计,能够帮助观察数据的分布特征和峰值。检测离群值

图中细线延伸到数据的最大值和最小值,使得可以快速检测到数据中的离群值或异常值。与其他变量的关系

可以与其他变量进行组合,通过不同颜色或分组来表示不同类别的数据分布,有助于观察到不同类别之间的差异,并了解到其他变量对数据分布的影响。使用小提琴图进行数据可视化分析任务一通过使用“cardio”列和“weight”来绘制小提琴图。使用小提琴图进行数据可视化分析代码如下:importpandasaspdimportseabornassnsimportmatplotlib.pyplotaspltplt.rcParams['font.sans-serif']=['SimHei']file_path=r'C:\Users\Administrator\Desktop\filtered_心血管疾病数据集.csv'data=pd.read_csv(file_path)df_melt=pd.melt(frame=data,value_vars=['weight'],id_vars=['cardio'])使用小提琴图进行数据可视化分析代码如下:#小提琴图ax=sns.violinplot(x='variable',y='value',hue='cardio',split=True,data=df_melt,scale='count',scale_hue=False,palette={0:'white',1:'black'})使用小提琴图进行数据可视化分析代码如下:#去掉横坐标的标签ax.set(xlabel='心血管疾病')#去掉横轴坐标的标题ax.set(xticklabels=[])#将纵坐标的标签设置为"weight"ax.set(ylabel='体重(单位:kg)')#添加标题plt.title('心血管疾病与体重的关系')plt.show()使用小提琴图进行数据可视化分析运行结果:使用小提琴图进行数据可视化分析在上面的代码中,可以看出引入了seaborn模块,seaborn是一个Python数据可视化库,建立在Matplotlib之上,提供了一种更高级、更美观和更简化的界面。Seaborn专注于统计数据可视化,并提供了许多用于绘制各种类型图表的函数和工具。以下是Seaborn的一些主要特点和功能:美观的默认样式:seaborn通过提供美观的默认样式,使得创建具有专业外观的图表变得更加简单。它的图表具有现代感,以及对颜色和字体的精心设计,使得图表更加吸引人。内置的统计主题和调色板:seaborn提供了多种内置的主题和调色板,使得在可视化过程中能够轻松选择适合的风格和颜色。这些主题和调色板旨在强调统计图表中的关键信息,并提供最佳的视觉效果。代码讲解:使用小提琴图进行数据可视化分析高级图表类型的支持:seaborn支持绘制各种高级的统计图表,如线性回归模型图、核密度估计图、小提琴图、箱线图、热力图、分类散点图等。这些图表能够更好地展示数据之间的关系和分布情况。灵活的数据可视化功能:Seaborn提供了许多灵活的函数和选项,可以轻松自定义图表的各个方面,包括轴标签、图例、网格线、坐标轴范围等。这使得用户可以根据自己的需求定制图表,以便更好地传达数据。另外代码通过sns.violinplot()关键行代码生成小提琴图,有必要对其进行更为详细的说明。代码讲解:使用小提琴图进行数据可视化分析sns.violinplot(x,y,data,hue,split,inner,scale,bw,cut,linewidth,color,palette,order,hue_order,bw_method,scale_hue,gridsize,width,inner,split,dodge,orient,saturation,ax,**kwargs)常用参数说明:x,y:用于指定小提琴图中的x轴和y轴的数据变量,可以是字符串或数组。data:包含要绘制的数据的数据集,可以是DataFrame、数组或列表。hue:用于分组数据的变量名称,按照该变量的不同取值对数据进行分组,并绘制不同颜色的小提琴图。split:是否将小提琴图分割成两半,分别表示不同的类别或组。inner:决定小提琴图内部绘制的内容,可以是"box"(默认)、"quartile"、"point"、"stick"等。代码讲解:使用小提琴图进行数据可视化分析scale:尺度参数,用于调整小提琴图的宽度。可选值有"area"(默认)、"count"、"width"等。bw:核密度估计的带宽参数,用于调整密度曲线的平滑程度。cut:裁剪参数,用于确定密度曲线截断的位置。linewidth:小提琴图线条的宽度。color:小提琴图的颜色。palette:调色板,用于指定不同类别或组的颜色。order:类别或组的顺序,用于控制小提琴图的排列顺序。ax:Matplotlib的坐标轴对象,用于将小提琴图绘制在指定的坐标轴上。代码讲解:使用小提琴图进行数据可视化分析那么代码实现中的ax=sns.violinplot(x='variable',y='value',hue='cardio',split=True,data=df_melt,scale='count',scale_hue=False,palette={0:'white',1:'black'})代码讲解:使用小提琴图进行数据可视化分析

这组代码可以解释为x轴和y轴的变量名分别为'variable'和'value'。这意味着在绘制小提琴图时,x轴将显示变量的名称,y轴将显示变量的值。接下来,通过参数hue='cardio',将数据根据名为'cardio'的变量进行分组。这将导致小提琴图中按照'cardio'的不同取值绘制不同颜色的小提琴图。参数split=True表示将小提琴图分割成两半,以表示不同的类别或组。数据集df_melt被传递给参数data,以指定要绘制的数据。通过scale='count',我们调整小提琴图的宽度,使其基于每个类别或组的数据点数量进行缩放。参数scale_hue=False表示不对hue变量的不同取值进行缩放。最后,通过palette={0:'white',1:'black'}指定了调色板的颜色为黑色和白色。如果想把上图的小提琴图分成两个小提琴图只需将参数split=True改为split=False最后生成如下效果图。代码讲解:使用小提琴图进行数据可视化分析代码讲解:使用小提琴图进行数据可视化分析任务二接下来可以通过小提琴图观察心血管疾病与身高的关系使用小提琴图进行数据可视化分析代码如下:importpandasaspdimportseabornassnsimportmatplotlib.pyplotaspltplt.rcParams['font.sans-serif']=['SimHei']file_path=r'C:\Users\Administrator\Desktop\filtered_心血管疾病数据集.csv'data=pd.read_csv(file_path)df_melt=pd.melt(frame=data,value_vars=['height'],id_vars=['cardio'])使用小提琴图进行数据可视化分析代码如下:#小提琴图ax=sns.violinplot(x='variable',y='value',hue='cardio',split=True,data=df_melt,scale='count',scale_hue=False,palette={0:'white',1:'black'})使用小提琴图进行数据可视化分析代码如下:#去掉横坐标的标签ax.set(xlabel='心血管疾病')#去掉横轴坐标的标题ax.set(xticklabels=[])#将纵坐标的标签设置为"weight"ax.set(ylabel='身高(单位:厘米)')#添加标题plt.title('心血管疾病与身高的关系')plt.show()使用小提琴图进行数据可视化分析代码如下:#去掉横坐标的标签ax.set(xlabel='心血管疾病')#去掉横轴坐标的标题ax.set(xticklabels=[])#将纵坐标的标签设置为"weight"ax.set(ylabel='身高(单位:厘米)')#添加标题plt.title('心血管疾病与身高的关系')plt.show()使用小提琴图进行数据可视化分析任务三

还需要探讨心血管疾病和体重、身高共同的关系。通过数据集中的“height”列和“weight”来定义“BMI指数”,来通过查看BMI指数正常的人是否有有血管疾病情况,BMI指数是国际上常用来衡量人体胖瘦程度以及是否健康的一个标准,其计算方法为体重(kg)除以身高(m)的平方,即BMI=体重(kg)/身高(m)^2。18.5-24.9kg/m^2为正常。使用小提琴图进行数据可视化分析代码如下:importpandasaspdimportseabornassnsimportmatplotlib.pyplotaspltplt.rcParams['font.sans-serif']=['SimHei']file_path=r'C:\Users\Administrator\Desktop\filtered_心血管疾病数据集.csv'data=pd.read_csv(file_path)使用小提琴图进行数据可视化分析代码如下:

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论