python与数据挖掘 上机实验_python数据挖掘实验报告1

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()

python与数据挖掘 上机实验_python数据挖掘实验报告1_第1张图片

这里在做的时候,要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")

python与数据挖掘 上机实验_python数据挖掘实验报告1_第2张图片

这里有个小疑问就是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()

python与数据挖掘 上机实验_python数据挖掘实验报告1_第3张图片

这里有疑问的是形成的表格数据,必须要用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网

你可能感兴趣的:(python与数据挖掘,上机实验)