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

相关文章

Redis的数据过期策略和数据淘汰策略

《Redis的数据过期策略和数据淘汰策略》本文主要介绍了Redis的数据过期策略和数据淘汰策略,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 目录一、数据过期策略1、惰性删除2、定期删除二、数据淘汰策略1、数据淘汰策略概念2、8种数据淘汰策略

轻松上手MYSQL之JSON函数实现高效数据查询与操作

《轻松上手MYSQL之JSON函数实现高效数据查询与操作》:本文主要介绍轻松上手MYSQL之JSON函数实现高效数据查询与操作的相关资料,MySQL提供了多个JSON函数,用于处理和查询JSON数... 目录一、jsON_EXTRACT 提取指定数据二、JSON_UNQUOTE 取消双引号三、JSON_KE

Python给Excel写入数据的四种方法小结

《Python给Excel写入数据的四种方法小结》本文主要介绍了Python给Excel写入数据的四种方法小结,包含openpyxl库、xlsxwriter库、pandas库和win32com库,具有... 目录1. 使用 openpyxl 库2. 使用 xlsxwriter 库3. 使用 pandas 库

SpringBoot定制JSON响应数据的实现

《SpringBoot定制JSON响应数据的实现》本文主要介绍了SpringBoot定制JSON响应数据的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们... 目录前言一、如何使用@jsonView这个注解?二、应用场景三、实战案例注解方式编程方式总结 前言

使用Python在Excel中创建和取消数据分组

《使用Python在Excel中创建和取消数据分组》Excel中的分组是一种通过添加层级结构将相邻行或列组织在一起的功能,当分组完成后,用户可以通过折叠或展开数据组来简化数据视图,这篇博客将介绍如何使... 目录引言使用工具python在Excel中创建行和列分组Python在Excel中创建嵌套分组Pyt

在Rust中要用Struct和Enum组织数据的原因解析

《在Rust中要用Struct和Enum组织数据的原因解析》在Rust中,Struct和Enum是组织数据的核心工具,Struct用于将相关字段封装为单一实体,便于管理和扩展,Enum用于明确定义所有... 目录为什么在Rust中要用Struct和Enum组织数据?一、使用struct组织数据:将相关字段绑

在Mysql环境下对数据进行增删改查的操作方法

《在Mysql环境下对数据进行增删改查的操作方法》本文介绍了在MySQL环境下对数据进行增删改查的基本操作,包括插入数据、修改数据、删除数据、数据查询(基本查询、连接查询、聚合函数查询、子查询)等,并... 目录一、插入数据:二、修改数据:三、删除数据:1、delete from 表名;2、truncate

Java实现Elasticsearch查询当前索引全部数据的完整代码

《Java实现Elasticsearch查询当前索引全部数据的完整代码》:本文主要介绍如何在Java中实现查询Elasticsearch索引中指定条件下的全部数据,通过设置滚动查询参数(scrol... 目录需求背景通常情况Java 实现查询 Elasticsearch 全部数据写在最后需求背景通常情况下

Java中注解与元数据示例详解

《Java中注解与元数据示例详解》Java注解和元数据是编程中重要的概念,用于描述程序元素的属性和用途,:本文主要介绍Java中注解与元数据的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参... 目录一、引言二、元数据的概念2.1 定义2.2 作用三、Java 注解的基础3.1 注解的定义3.2 内

将sqlserver数据迁移到mysql的详细步骤记录

《将sqlserver数据迁移到mysql的详细步骤记录》:本文主要介绍将SQLServer数据迁移到MySQL的步骤,包括导出数据、转换数据格式和导入数据,通过示例和工具说明,帮助大家顺利完成... 目录前言一、导出SQL Server 数据二、转换数据格式为mysql兼容格式三、导入数据到MySQL数据