dhu 数据科学与技术 第6次作业

2023-11-20 19:30
文章标签 数据 技术 作业 科学 dhu

本文主要是介绍dhu 数据科学与技术 第6次作业,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一. 简答题(共2题,100分)

  1. (简答题)
    2012—2020年我国人均可支配收入(单位:万元)为[1.47, 1.62, 1.78, 1.94, 2.38, 2.60,2.82, 3.07, 3.21]。按照要求绘制以下图形。

(1)模仿例4-1和例4-3,绘制人均可支配收入折线图(效果如图4-6所示)。数据点用小矩形标记、黑色虚线,并用注解标出最高点,图标题为“Income”,设置坐标轴标题,最后将图形保存为jpg文件。
在这里插入图片描述
图4-6 2012—2020年人均可支配收入(单位:万元)

(2)模仿例4-2,使用多个子图分别绘制人均可支配收入的折线图、箱形图及柱状图(效果如图4-7所示)。

【提示】

(1)本实验准备数据时可以使用Series对象或DataFrame对象。

(2)创建的3个子图分别使用(2,2,1)、(2,2,2)和(2,1,2)作为参数。

(3)使用plt.subplots_adjust()调整子图间距离,以便添加图标题。

在这里插入图片描述
图4-7 多子图展示各年度人均可支配收入
High-speed rail.csv

import matplotlib.pyplot as plt
from pandas import DataFrame
import numpy as np
import matplotlib# 1)
zhfont1 = matplotlib.font_manager.FontProperties(fname="C:\\python\\SourceHanSansSC-Bold.otf")
income=[1.47, 1.62, 1.78, 1.94, 2.38, 2.60, 2.82, 3.07, 3.21]
data=DataFrame({'income': income},index=['2012','2013','2014','2015','2016','2017','2018','2019','2020'])
plt.plot(income,marker = 's',linestyle = 'dotted',c='black')
plt.ylabel("Income(RMB Ten Thousand)")
plt.xlabel("Year")
plt.title("2012-2020 年人均可支配收入", fontproperties=zhfont1)
my_y_ticks = np.arange(0.0, 3.5, 0.5)
plt.yticks(my_y_ticks)
plt.annotate('Largest!',xy = (8,3.21),xytext = (6.1,2.6),arrowprops = dict(arrowstyle = '->',color = 'r'),color = 'r')
plt.grid()
plt.savefig(fname="C:\\python\\fig1",dpi=200,bbox_inches='tight')# 2)
fig=plt.figure(figsize = (10,6))ax1=fig.add_subplot(2,2,1)
data.plot(title = 'Line chart',legend = False,ax = ax1)
plt.xticks(range(0,9),['2012','2013','2014','2015','2016','2017','2018','2019','2020'])
plt.xlim(-0.5,8.5)
plt.xlabel('Year')
plt.ylabel('Income')ax2=fig.add_subplot(2,2,2)
data.plot(kind='box',title = 'Box-whisker plot',xticks = [],ax = ax2)
plt.xlabel('2012-2020')
plt.ylabel('Income')ax3=fig.add_subplot(2,1,2)
data.plot(kind='bar',title = 'Bar Chart',ax = ax3)
plt.xticks(range(0,9),['2012','2013','2014','2015','2016','2017','2018','2019','2020'])
plt.xlabel('Year')
plt.ylabel('Income')plt.subplots_adjust(wspace = 0.5,hspace = 0.5)
plt.show()
  1. (简答题)文件high-speedrail.csv中存放着世界各国高铁的情况,数据格式如表4-6所示,请对世界各国高铁的数据进行绘图分析。
    表4-6 high-speedrail.csv文件的数据格式
    在这里插入图片描述

(1)各国运营里程对比柱状图,标注China为“Longest”,如图4-22所示。

(2)各国运营里程现状和发展堆叠柱状图,如图4-23所示。
在这里插入图片描述
图4-22 各国高铁运营里程柱状图
图4-23.png
图4-23 各国高铁发展情况堆叠图

(3)各国运营里程占比饼图,其中China为扇形离开中心点,如图4-24所示。
在这里插入图片描述

图4-24 各国高铁运营里程分布饼图
【提示】

(1)从文件中读取数据时,使用第一列数据作为index。
data = pd.read_csv(‘High-speed rail.csv’, index_col =‘Country’)
例如,获取中国对应的数据行时,使用data [‘China’]。

import matplotlib.pyplot as plt
import pandas as pd
from pandas import DataFrame
import numpy as np
import matplotlibdata = pd.read_csv('C:\\python\\High-speed rail.csv',index_col='Country')# 1)
data['Operation'].plot(kind='bar',title = 'Operation Mileage',ylabel='Mileage(km)',rot = 45,xlabel='Country')
plt.annotate('Longest!',xy=(0,20000),xytext=(1,20000),arrowprops=dict(arrowstyle='->',color='r'),c='r')
plt.show()# 2)
data[['Operation','Under-construction','Planning']].plot(kind='barh',title = 'Global trends of high-speed rail',stacked=True,ylabel='Mileage(km)',rot = 0,legend=False)
plt.ylabel('Country')
plt.xlabel('Mileage(km)')
plt.show()# 3)
line=pd.read_csv('C:\\python\\High-speed rail.csv')
matplotlib.pyplot.pie(data['Operation'],labels=line['Country'],autopct='%0.1f%%',explode=(0.1,0,0,0,0,0),shadow=True,startangle = 60)
plt.show()

这篇关于dhu 数据科学与技术 第6次作业的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/396889

相关文章

Python数据验证神器Pydantic库的使用和实践中的避坑指南

《Python数据验证神器Pydantic库的使用和实践中的避坑指南》Pydantic是一个用于数据验证和设置的库,可以显著简化API接口开发,文章通过一个实际案例,展示了Pydantic如何在生产环... 目录1️⃣ 崩溃时刻:当你的API接口又双叒崩了!2️⃣ 神兵天降:3行代码解决验证难题3️⃣ 深度

MySQL快速复制一张表的四种核心方法(包括表结构和数据)

《MySQL快速复制一张表的四种核心方法(包括表结构和数据)》本文详细介绍了四种复制MySQL表(结构+数据)的方法,并对每种方法进行了对比分析,适用于不同场景和数据量的复制需求,特别是针对超大表(1... 目录一、mysql 复制表(结构+数据)的 4 种核心方法(面试结构化回答)方法 1:CREATE

详解C++ 存储二进制数据容器的几种方法

《详解C++存储二进制数据容器的几种方法》本文主要介绍了详解C++存储二进制数据容器,包括std::vector、std::array、std::string、std::bitset和std::ve... 目录1.std::vector<uint8_t>(最常用)特点:适用场景:示例:2.std::arra

MySQL中的DELETE删除数据及注意事项

《MySQL中的DELETE删除数据及注意事项》MySQL的DELETE语句是数据库操作中不可或缺的一部分,通过合理使用索引、批量删除、避免全表删除、使用TRUNCATE、使用ORDERBY和LIMI... 目录1. 基本语法单表删除2. 高级用法使用子查询删除删除多表3. 性能优化策略使用索引批量删除避免

MySQL 数据库进阶之SQL 数据操作与子查询操作大全

《MySQL数据库进阶之SQL数据操作与子查询操作大全》本文详细介绍了SQL中的子查询、数据添加(INSERT)、数据修改(UPDATE)和数据删除(DELETE、TRUNCATE、DROP)操作... 目录一、子查询:嵌套在查询中的查询1.1 子查询的基本语法1.2 子查询的实战示例二、数据添加:INSE

Linux服务器数据盘移除并重新挂载的全过程

《Linux服务器数据盘移除并重新挂载的全过程》:本文主要介绍在Linux服务器上移除并重新挂载数据盘的整个过程,分为三大步:卸载文件系统、分离磁盘和重新挂载,每一步都有详细的步骤和注意事项,确保... 目录引言第一步:卸载文件系统第二步:分离磁盘第三步:重新挂载引言在 linux 服务器上移除并重新挂p

使用MyBatis TypeHandler实现数据加密与解密的具体方案

《使用MyBatisTypeHandler实现数据加密与解密的具体方案》在我们日常的开发工作中,经常会遇到一些敏感数据需要存储,比如用户的手机号、身份证号、银行卡号等,为了保障数据安全,我们通常会对... 目录1. 核心概念:什么是 TypeHandler?2. 实战场景3. 代码实现步骤步骤 1:定义 E

使用C#导出Excel数据并保存多种格式的完整示例

《使用C#导出Excel数据并保存多种格式的完整示例》在现代企业信息化管理中,Excel已经成为最常用的数据存储和分析工具,从员工信息表、销售数据报表到财务分析表,几乎所有部门都离不开Excel,本文... 目录引言1. 安装 Spire.XLS2. 创建工作簿和填充数据3. 保存为不同格式4. 效果展示5

Python多任务爬虫实现爬取图片和GDP数据

《Python多任务爬虫实现爬取图片和GDP数据》本文主要介绍了基于FastAPI开发Web站点的方法,包括搭建Web服务器、处理图片资源、实现多任务爬虫和数据可视化,同时,还简要介绍了Python爬... 目录一. 基于FastAPI之Web站点开发1. 基于FastAPI搭建Web服务器2. Web服务

python协程实现高并发的技术详解

《python协程实现高并发的技术详解》协程是实现高并发的一种非常高效的方式,特别适合处理大量I/O操作的场景,本文我们将简单介绍python协程实现高并发的相关方法,需要的小伙伴可以了解下... 目录核心概念与简单示例高并发实践:网络请求协程如何实现高并发:核心技术协作式多任务与事件循环非阻塞I/O与连接