实验内容及步骤(包含简要的实验步骤流程)
1.使用Pandas_datareader获取任意两支股票近三个月的交易数据。做出收盘价的变动图像。
2.使用Pandas_datareader获取世界银行数据库中美国(USA)、瑞典(SWE)、瑞士(CHE)三个国家近20年的NY.GDP.PCAP.KD数据,作图分析。
3.对于泰坦尼克的数据集,试分析幸存与否与独立登船的相关性(alone数据列)。

1.取五粮液(000858.sz)和古井贡酒(000596.sz)两只股票的三个月交易数据,做出收盘的变动图像。

需要注意的是目前模块已经迁徙到pandas-datareader包中,因此导入模块时需要由import pandas.io.data as web更改为import pandas_datareader.data as web,需要先下载pandas_datareader包


#导入pandas_datareader/datetime/seaborn/matplotlib库
import pandas_datareader.data as webdata
import datetime
import seaborn as sns
import matplotlib.pyplot as plt#处理Seaborn图表内嵌中文字体问题
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus'] = False
sns.set_style({'font.sans-serif':['simhei','Arial']})#用datatime生成日期数据
start_time = datetime.datetime(2020,6,30)
end_time = datetime.datetime(2020,9,30)#通过Yahoo财经,查询股票信息
stock_code1 = input('美股直接输入股票代码如GOOG \n港股输入代码+对应股市,如腾讯:0700.hk \n国内股票需要区分上证和深证,股票代码后面加.ss或者.sz\n你要查询的股票代码是:')
stock_info1 = webdata.get_data_yahoo(stock_code1,start_time,end_time)#展示前5行
#print(stock_info1.head())stock_code2 = input('另一只要查询的股票代码是:')
stock_info2 = webdata.get_data_yahoo(stock_code2,start_time,end_time)#绘制股票价格波动图
print('股票收盘价对比:')
sns.set()
plt.figure(figsize=(10,4))
plt.plot(stock_info1['Close'],'r-',label=stock_code1)
plt.plot(stock_info2['Close'],'k--',label=stock_code2)
plt.legend()
plt.savefig('股票收盘.png')
plt.show()


这里在做的时候,要pip下载一个datetime的库。要升级pip版本,按照cmd的提示命令就可以升级了。

  1. 使用Pandas_datareader获取世界银行数据库中美国(USA)、瑞典(SWE)、瑞士(CHE)三个国家近20年的NY.GDP.PCAP.KD数据,并作图分析。
#导入wb用于查询世界银行数据
#http://ju.outofmemory.cn/entry/308589
#https://pandas-datareader.readthedocs.io/en/latest/readers/world-bank.html?highlight=
#pandas_datareader.wb
import pandas_datareader.wb as worldbank
import matplotlib.pyplot as plt
import pandas as pd
import seaborn as sns#处理Seaborn图表内嵌中文字体问题
sns.set()
sns.set_style({'font.sans-serif':['simhei','Arial']})
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus'] = False start_year = 1999
end_year = 2019#查询数据库中所有国家信息
#countries = worldbank.get_countries()#读取美国(USA)、瑞典(SWE)、瑞士(CHE)的NY.GDP.PCAP.KD数据dat = worldbank.download(indicator="NY.GDP.PCAP.KD", country=["USA", "SWE","CHE"], start=start_year, end=end_year)
dat2draw=dat.unstack(level=0)
#dat2draw.plot()plt.figure(figsize=(10,4))
plt.plot(dat2draw.iloc[:,0],'r-',label="SWE")
plt.plot(dat2draw.iloc[:,1],'b-*',label="CHE")
plt.plot(dat2draw.iloc[:,2],'g--',label="USA")
plt.title("人均GDP对比(美元计价)",fontsize=20)
plt.legend()
plt.savefig("三国GDP.png",dpi=300, bbox_inches="tight")


补充:iloc提取[[行],[列]]
比如


提取第0列的第0-2行
这样是提取全部行,第0列

这样是提取表格到第一条信息

3.对于泰坦尼克的数据集,试分析幸存与否与独立登船的相关性(alone数据列)

import matplotlib.pyplot as plt
from matplotlib import pyplot as plt
import seaborn as sns#处理Seaborn图表内嵌中文字体问题
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus'] = False
sns.set_style('whitegrid',{'font.sans-serif':['simhei','Arial']})#载入泰坦尼克数据库,显示乘客信息的头5行
PasTit = sns.load_dataset('titanic')
print('前5行数据:')
print(PasTit.head())#统计幸存者是否独立登船
survived=PasTit.groupby(['alone','survived']).size().unstack()
survived['sum']=survived[0]+survived[1]
survived['生还率']=survived[1]/survived['sum']
print()
print('乘客按照是否独立登船:')
print('False:不是独立登船;True:独立登船')
print(survived)#幸存与否与独立登船相关性分析(相关系数)
X=PasTit['survived']
Y=PasTit['alone']
print(X.corr(Y))#生成相关性热力图
plt.subplots(figsize=(9, 5)) # 设置画面大小
sns.heatmap(survived, annot=True, vmax=1, square=True, cmap="Blues")
plt.savefig('热力图.png')
plt.show()


这里有疑问的是形成的表格数据,必须要用survived这个参数才能生成热力图,不是很明白为什么。
形成的表格做条形图也做不出想要的效果,试了很长时间没有画出来。上课的时候再去询问一下老师。

五、实验总结(包括心得体会、问题回答及实验改进意见,可附页)
通过本次实验
1.巩固了Python程序编制,Numpy、Pandas、seaborn和Matplotlib包的使用。
2.掌握使用Pandas_datareader获取基本的数据,使用webdata.get_data_yahoo的方法从yahoo财经获取财经信息。
3.使用Matplotlib、seaborn做出收盘价的变动图像、近20年的NY.GDP.PCAP.KD数据和相关系数热力图
4.发现了一些要注意的点和疑惑的地方,对dataframe生成、索引切片和matplotlib画图还存在疑问,留存上课询问老师。

python数据挖掘实验报告1相关推荐

  1. python上机实验报告读取文件_Python程序设计实验报告:实验八 文件

    安徽工程大学 Python程序设计 实验报告 班级 物流192姓名陶俊 学号3190505235 成绩 日期 2020.6.3 指导老师修宇 实验八 文件 [实验目的] 掌握读写文本文件或 CSV 文 ...

  2. python上机实验报告读取文件_Python程序设计实验报告八 : 文件

    安徽工程大学 Python程序设计 实验报告 班级 物流192 姓名凌剑涛 学号 3190505233成绩 日期2020.6.3 指导老师 修宇 实验八 文件 [实验目的] 掌握读写文本文件或CSV文 ...

  3. 基于python物流管理系统毕业设计-Python程序设计实验报告一 :熟悉IDLE和在线编程平台...

    Python程序设计实验报告 班级 物流192 姓名 张羽 学号 3190505221 成绩 日期 3月5日 指导老师 修宇 实验名称 实验一 熟悉IDLE和在线编程平台 实验目的 1.掌握pytho ...

  4. 基于python物流管理系统毕业设计-Python程序设计实验报告二

    安徽工程大学 Python 程序设计 实验报告 班级: 物流192 姓名:刘晨晨 学号:3190505214 日期: 3.21 指导教师:修宇 实验二 顺序结构程序设计(验证性实验) [实验目的] ( ...

  5. 基于python物流管理系统毕业设计-Python程序设计实验报告八:文件

    安徽工程大学 Python程序设计 实验报告 .班级 物流192 姓名张羽学号3190505221成绩 日期2020.6.3指导老师修宇 实验八 文件 [实验目的] 掌握读写文本文件或 CSV 文件, ...

  6. python综合实验报告_Python程序设计实验报告五:综合运用三种基本结构进行程序设计(综合性实验)...

    安徽工程大学 Python程序设计 实验报告 班级 物流191 姓名姚彩琴学号3190505129 成绩 日期 2020.4.22 指导老师修宇 [实验名称]综合运用三种基本结构进行程序设计(综合性实 ...

  7. python上机实验报告读取文件_Python程序设计实验八:文件

    安徽工程大学 Python程序设计实验报告 班级:物流192 姓名:李心悦 学号:3190505218成绩: 日期:2020.6.3 指导教师:修宇 [实验名称]实验八 文件 [实验目的] 掌握读写文 ...

  8. python的实验报告大一心理_Python程序设计实验报告: 实验六

    安徽工程大学 Python程序设计 实验报告 班级  物流192班   姓名吕晨学号3190505209  成就 日期    2020.5.4     指导先生修宇 [实验名称]实验六 函数 [实验目 ...

  9. python的实验报告大一心理_python的期末实验报告

    青岛工学院 实验报告 <Python 语言基础>实验报告 实验室: 实验题目 年... python大作业实验报告.pptx_计算机软件及应用_IT/计算机_专业资料.... 温州大学瓯江 ...

最新文章

  1. python怎么画形状_python – matplotlib – 如何绘制随机导向的矩形(或任何形状)?...
  2. python语言入门z-python基础语法_8循环语句
  3. FastJson乱序问题
  4. 怒肝8个月源码,我成为了 Spring 开源贡献者
  5. MaxCompute - ODPS重装上阵 第一弹 - 善用MaxCompute编译器的错误和警告
  6. selenium的定位方式
  7. Java-Collection、List
  8. android学习笔记---发送状态栏通知
  9. python nonlocal的用法_python global和nonlocal用法解析
  10. HDU 1022 Train Problem I stack 基础题
  11. MySQL OCP备考
  12. 打印机加粉通用模版:打开打印机、取出硒鼓,然后加粉
  13. Silverlight 4 or 5 安装步骤
  14. 华为网络技术大赛笔记——服务器概述
  15. 由摊余成本法谈到债券估值
  16. python分号_python中的分号(“;”)
  17. ORA-01427:单行子查询返回多个行
  18. css实现图片旋转360°
  19. 力扣刷题笔记:1438. 绝对差不超过限制的最长连续子数组(滑窗模板题,选择有序列表SortedList()数据类型就不会超时)
  20. 新款宝马MINI钥匙增加!轻松搞定,这MINI看着还可以噢

热门文章

  1. flask接口开发快速上手
  2. uniapp微博分享失败
  3. unity实现坦克第一人称视角移动 鼠标发射,位置改变
  4. 2021年内蒙古高考成绩查询一分一段,2021年内蒙古高考成绩排名及一分一段表
  5. 【web前端HTML5+CSS3】08CSS--animation(动画) less
  6. mysql用命令行导出数据库
  7. 小米6无人直播刷机教程
  8. 基本计数、排列组合与Lucas定理
  9. js - 点击按钮关闭当前网页探究
  10. 故障分析 | Greenplum 集群 standby 故障处理