发布时间:2022-11-17 11:00
python数据挖掘实验报告1
python数据挖掘实验报告1
实验内容及步骤(包含简要的实验步骤流程)
1.使用Pandas_datareader获取任意两支股票近三个月的交易数据。做出收盘价的变动图像。
2.使用Pandas_datareader获取世界银行数据库中美国(USA)、瑞典(SWE)、瑞士(CHE)三个国家近20年的NY.GDP.PCAP.KD数据,作图分析。
3.对于泰坦尼克的数据集,试分析幸存与否与独立登船的相关性(alone数据列)。
1.取五粮液(000858.sz)和古井贡酒(000596.sz)两只股票的三个月交易数据,做出收盘的变动图像。
#导入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的提示命令就可以升级了。
使用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")
这里有个小疑问就是dataframe的切片,[:0]切出来的和dat里面看到的不一样,查了百度好像也不是很明白。
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相关教程
怎么用Python初步实现页面对象和测试用例的分离?举个登录的栗子
怎么用Python初步实现页面对象和测试用例的分离?举个登录的栗子 一、代码 来自文件index_page.py fromselenium.webdriver.support.waitimportWebDriverWaitfromselenium.webdriver.supportimportexpected_conditionsasECfromselenium.webdriver.common.byimp
Python pip下载requests库超时
Python pip下载requests库超时 通过以下命令下载requests库时,报请求超时 pip install requests 超时如图: pypi.python.org 请求不了,可以通过请求国内镜像库处理 pip install --index https://pypi.mirrors.ustc.edu.cn/simple/ requests 结果:
Python基础汇总
Python基础汇总 Python基础汇总 basic.py #标识符:我们自己在写代码的时候,取的名字。命名的符号。#项目名projectname#包名packagename#模块名.pypython文件名#规范:1.由字母数字下划线组成,但是不能以数字开头。#2.见名知意#3.不同的字母,数字之间,用
Python的IDE ==== Atom
Python的IDE ==== Atom 最近学Python,需要整一个顺手的IDE。 朋友力荐Atom , 于是下载了一个1.53版本的,这玩意儿是GitHub搞的,应该是开源的。 安装后又装了两个插件,一个是缩进的,一个是 运行程序的 首先打开setting 然后搜索 autocomplete-python 这个
Python学习之路——(四)函数的参数和变量
Python学习之路——(四)函数的参数和变量 一.学习内容 1.Python函数的形参和实参 ,关键词参数和默认值参数 2.python只有函数没有过程 3.局部变量和全局变量。局部变量和全局变量互不影响,因为储存空间不同 可以定义两个相同的变量名。但防止混淆局部变量和
安装anaconda+jupyter+python3.6
安装anaconda+jupyter+python3.6 官网只有最新版的,所以我在这个镜像网站下载的: https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/ 然后还需要知道python版本和anaconda版本对应关系: https://blog.csdn.net/yuejisuo1948/article/details/810438
Python爬取新浪新闻数据写入Excel
Python爬取新浪新闻数据写入Excel 先爬取最新消息列表,再循环爬取对应url中的新闻详细数据 # -*- coding: utf-8 -*-Spyder Editornews.py.import requestsfrom bs4 import BeautifulSoupfrom datetime import datetimeimport jsonimport xlwtdef get_list(ur
python Flask框架学习——include语句
python Flask框架学习——include语句 include语句 include 语句可以把一个模板引入到另外一个模板中,类似于把一个模板的代码copy到另外一个模板的指定位置 格式: {% include 网页名称.html’ %} 应用 创建 header.html h3网页头/h3 创建 footer.html h3网