数据分析与可视化习题答案张涛.docx

上传人:p** 文档编号:891555 上传时间:2024-03-30 格式:DOCX 页数:23 大小:276.21KB
下载 相关 举报
数据分析与可视化习题答案张涛.docx_第1页
第1页 / 共23页
数据分析与可视化习题答案张涛.docx_第2页
第2页 / 共23页
数据分析与可视化习题答案张涛.docx_第3页
第3页 / 共23页
数据分析与可视化习题答案张涛.docx_第4页
第4页 / 共23页
数据分析与可视化习题答案张涛.docx_第5页
第5页 / 共23页
数据分析与可视化习题答案张涛.docx_第6页
第6页 / 共23页
数据分析与可视化习题答案张涛.docx_第7页
第7页 / 共23页
数据分析与可视化习题答案张涛.docx_第8页
第8页 / 共23页
数据分析与可视化习题答案张涛.docx_第9页
第9页 / 共23页
数据分析与可视化习题答案张涛.docx_第10页
第10页 / 共23页
亲,该文档总共23页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《数据分析与可视化习题答案张涛.docx》由会员分享,可在线阅读,更多相关《数据分析与可视化习题答案张涛.docx(23页珍藏版)》请在第壹文秘上搜索。

1、课后习题答案项目1使用NUmPy分析空气质量状况-S选择题1 .D2,B3.A4.C5.C他可能是it64jt32)二、简答题12341 .已知ndarray数组MM=B*二2。根据以下要求写出对应代码。JLUJLJLJLX.13141516(1)获取前三条数据。(2)获取最后两列数据。(3)获取最后一列数据(两种方法)。(4)获取第23行,第23列数据。(5)求每一列的均值,最大值和最小值。(6)求每一行的均值,最大值和最小值。(7)将M中的每一个元素扩大为原来的两倍。importnumpyasnpM=np.arage(l,17)M=M.reshape(4,4)# (1)获取前三条数据fir

2、st_three_elements=M:3# (2)获取最后两列数据last_two_columns=ML-2:# (3)获取最后一列数据(两种方法)# 方法一:IasLcoIumn=M:,-1# 方法二:IasLcoIumn=M13# (4)获取第23行,第23列数据sub_matrix=Ml:3,1:3# (5)求每一列的均值,最大值和最小值mean,values=np.mea(M,axis=0)max_values=p.max(M1ais=O)min_values=p.min(M1axis=O)# (6)求每一行的均值,最大值和最小值mean,values=p.mean(M,axis=l

3、)max_values=np.max(Mlaxis=l)min_values=p.mi(M1axis=l)# (7)将M中的每一个元素扩大为原来的两倍doubled_M=M*22 .已知有两个ndaray数组M和N,求出M*N的值。1M= 3 .51 211 4 t N= 31 6 Is246.答案:141826343850三、编程题1.使用NumPy的random模块,生成一个符合标准正态分布的100*5的ndarray数组,计算每列的最大值、最小值和均值,最后将该数组保存到data.csv文件中。importnumpyasnp# 使用numpy的random模块生成一个100x5的ndar

4、ray数组,数组元素符合标准正态分布data=p.random.randn(100,5)# 计算每列的最大值、最小值和均值max_values=data.max(axis=0)min_values=data.mi(ais=O)mean_values=data.mean(ais=O)# 打印每列的最大值、最小值和均值Print(每列的最大值:,max_values)Print(每列的最小值:,min_values)Print(每列的均值:,mean_values)# 将结果保存到data.csv文件中p.savetxt(data.csv,data,delimiter=,)2.现有一个关于二手房的

5、数据集house.csv,部分数据如表18所示,请根据要求,编写一个预测房价的程序。(1)去除“脏数据”,即删除“编号”歹J,删除重复行和列。(2)统计数据集中总面积在080,80120以及120各自的数量是多少。(3)预测房价的公式为:PriCe=I8%+03x2-04x3-08%4+25+20m60(注意:这个公式有误,最后的+20%6)不需要,直接删掉。(4)将预测的结果持久化到txt文件中。importnumpyasnp# 读取数据集data=p.loadtxt(house.csv,delimiter=,skiprows=l,encoding=utf-8)# 去除脏数据data=p.d

6、elete(data10,ais=l)#删除编号列data=np.unique(data,axis=0)#删除重复行和列# 统计总面积的数量totaLarea=data:,0count_0_80=np.sum(totaLarea=0)&(totaLarea=80)&(totaLarea=120)# 预测房价price=1.8*data:,0+0.3*data:,1-0.4*data:,2-0.8*data:,3+2.5*data:,4# 将预测结果持久化到txt文件中np.savetxt(,prediction.tt,price,fmt=,%.2f)Print(总面积在080的数量:,coun

7、t_0_80)Print(总面积在80-120的数量:,count_80_120)Print(总面积大于120的数量:,count_120)项目2使用MatPIOtIib实现空气数据可视化一、选择题1.C2.A3.D4.C5.D6,A二、编程题1 .读取葡萄牙某公园火灾的数据集,数据集下载地址:https:archive.ics.ucidu/ml/datasets/Forest+FireSo要求完成以下图形的绘制。(1)绘制温度、湿度、风速和下雨量这四个特征与烧毁面积之间关系的散点图。(2)统计每个月平均烧毁面积,并绘制出对应的饼图。importnumpyasnp#导入numpy库,用于数值计

8、算importmatplotlib.pyplotaspit#导入matpiotiib库,用于绘图importpandasaspd#导入PandaS库,用于数据处理data=pd.read-csv(tforestfires.csv,#读取数据集plt.figure(figsize=(10,6)#设置图形大小plt.scatter(datatemp,data,area,1IabeI=lTemperature)#绘制温度与烧毁面积的散点图plt.scatter(dataRH,data,area11IabeI=1Humidity)#绘制湿度与烧毁面积的散点图plt.scatter(data,wind,

9、1dataarea,IabeI=1WindSpeed)#绘制风速与烧毁面积的散点图plt.scatter(data,rain,data,area,1IabeI=1RainfaII)#绘制降雨量与烧毁面积的散点图plt.xlabel(,Features,)#设置X轴标签plt.ylabel(Area,)#设置y轴标签plt.legend()#显示图例plt.show()#显示图形monthly_area=data.groupby(moth,),area,.mea()#按月份分组,计算每个月的平均烧毁面积plt.figure(figsize=(10,6)#设置图形大小plt.pie(monthly

10、_area,labels=monthly_area.index,autopct=,%l.lW)#绘制饼图,显示每个月的平均烧毁面积plt.title(,AverageAreaofForestFiresbyMonth)#设置饼图标题plt.show()#显示图形2 .读取皮马印第安人糖尿病数据集,要求完成以下图形的绘制。(1)绘制BMl与age的散点图,使用红色圆点表示患有糖尿病,绿色圆点表示没有糖尿病。(2)统计数据集中含有糖尿病和未患糖尿病的人数,并绘制出对应的饼图。importnumpyasnpimportmatplotlib.pyplotaspit# 读取数据集data=npOadtXt

11、(pimaindiansdiabetes.data.csv,delimiter=,skiprows=l)# 提取BMl和age数据bmi=data:,5age=data:,7has_diabetes=data:,8# 绘制BMl与age的散点图plt.figure(figsize=(8,6)plt.scatter(agehas_diabetes=1.bmihas_diabetes=1,c=red,IabeI=1HasDiabetes)plt.scatter(agehas_diabetes=0,bmihas_diabetes=0,c=,greenl,IabeI=1NoDiabetes)plt.x

12、label(,Age,)plt.yabel(BMI,)plt.title(BMIvsAge)plt.legend()plt.show()# 统计含有糖尿病和未患糖尿病的人数num_has_diabetes=p.sum(has-diabetes=1)num_no_diabetes=np.sum(has_diabetes=0)# 绘制饼图labels=HasDiabetes,NoDiabetessizes=num_has_diabetes,num_no_diabetescolors=,red,1greenplt.figure(figsize=(6,6)plt.pie(sizes,IabeIs=Ia

13、beIs1colors=colors,autopct=,%l.lf%,)plt.title(,DiabetesDistribution)plt.show()项目3使用PandaS分析股票交易数据一、选择题1.C2.C3.A4.D5.A6.B7.D二、编程题1.现有一个葡萄牙某银行直销活动的数据集,下载地址为http:/archive.ics.uci.edumldatasetsBank+Marketingo要求使用Pandas完成以下数据处理和分析任务。(1)读取该CSV数据集文件,将数据存储于一个DataFrame数组对象中。(2)判断数据集中是否有缺失值,如有,则使用上一个非缺失值填充。对于

14、第一条数据中的缺失值,使用下一个非缺失值填充。(3)将数据集中的最后一个字段“y”中的“yes”替换为1,“no”替换为0。(4)按照字段“job”(职业类型)分组,求得每个职业平均存款余额是多少。(字段balance”表示存款余额)(5)按照字段“education”(教育程度)分组,求得每个分组中,最大年龄和最小年龄是多少。importpandasaspd#读取CSV数据集文件,将数据存储于一个DataFrame数组对象中df=pd.read-csv(bak.csvlsep=;)#判断数据集中是否有缺失值,如有,则使用上一个非缺失值填充。对于第一条数据中的缺失值,使用下一个非缺失值填充df.filla(method=ffil,inplace=True)df.bfill(iplace=True)#将数据集中的最后一个字段uy,中的yes替换为1,ot替换为0df,y=dfy.replace(yes,:1,no,:0)#按照字段“job”(职业类型)分组,求得每

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > 数据结构与算法

copyright@ 2008-2023 1wenmi网站版权所有

经营许可证编号:宁ICP备2022001189号-1

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。第壹文秘仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知第壹文秘网,我们立即给予删除!