一、背景

软件:python

实验内容:

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

二、实验内容

使用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#远程获取金融数据的工具库——pandas_datareader
import pandas_datareader.wb as worldbank
#Pyplot 是 Matplotlib 的子库,提供了和 MATLAB 类似的绘图 API。
#Pyplot 是常用的绘图模块,能很方便让用户绘制 2D 图表。
#Pyplot 包含一系列绘图函数的相关函数,每个函数会对当前的图像进行一些修改
#例如:给图像加上标记,生新的图像,在图像中产生新的绘图区域等等。
import matplotlib.pyplot as plt
#Pandas 是 Python 的核心数据分析支持库,提供了快速、灵活、明确的数据结构,旨在简单、直观地处理关系型、标记型数据。
import pandas as pd
#Seaborn 是基于 Python 且非常受欢迎的图形可视化库,在 Matplotlib 的基础上,进行了更高级的封装,使得作图更加方便快捷。
import seaborn as sns#处理Seaborn图表内嵌中文字体问题
#seaborn.set()函数参数
sns.set()
#rc : dict or None , Dictionary of rc parameter mappings to override the above._theme
#使用rc配置文件来自定义图形的各种默认属性,称之为rc配置或rc参数。
#通过rc参数可以修改默认的属性,包括窗体大小、每英寸的点数、线条宽度、颜色、样式、坐标轴、坐标和网络属性、文本、字体等。
#font.sans-serif: 设置图像中的非衬线字体,必须是操作系统或matplotlib内置的字体,黑体(SimHei)
rc={'font.sans-serif':['simhei','Arial']}
sns.set(rc=rc)
#sns是接口,修改要在plt中进行
#设置字体
plt.rcParams['font.sans-serif']='SimHei'
#axes.unicode_minus: 设置为False,解决中文字体下显示不出负号
#字符显示
plt.rcParams['axes.unicode_minus'] = False start_year = 2000
end_year = 2023#查询数据库中所有国家信息
#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)
#unstack()即stack()的反操作,将行旋转到列
dat2draw=dat.unstack(level=0)
dat2draw.plot()#figure(num=None, figsize=None, dpi=None, facecolor=None, edgecolor=None, frameon=True)
#num:图像编号或名称,数字为编号 ,字符串为名称
#figsize:指定figure的宽和高,单位为英寸
#dpi参数指定绘图对象的分辨率,即每英寸多少个像素,缺省值为80,1英寸等于2.5cm,A4纸是 21*30cm的纸张
#facecolor:背景颜色
#edgecolor:边框颜色
#frameon:是否显示边框
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.show() 后调用 plt.savefig()
#在 plt.show() 后实际上已经创建了一个新的空白的图片(坐标轴),plt.savefig() 会保存这个新生成的空白图片
#将plt.savefig()放在plt.show()之前,又或者使用plt.gcf()固定图片,再保存
plt.savefig("三国GDP.png",dpi=300, bbox_inches="tight")
plt.show()

对于泰坦尼克的数据集,试分析幸存与否与独立登船的相关性(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
#有五个预设好的主题: darkgrid , whitegrid , dark , white ,和 ticks 默认: darkgrid
sns.set_style('whitegrid',{'font.sans-serif':['simhei','Arial']})#载入泰坦尼克数据库,显示乘客信息的头5行
PasTit = sns.load_dataset('titanic')
print('前5行数据:')
print(PasTit.head())#统计幸存者是否独立登船
#groupby分组
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']
#DataFrame.corr(method='pearson', min_periods=1)
#method:可选值为{‘pearson’, ‘kendall’, ‘spearman’}
#pearson:Pearson相关系数来衡量两个数据集合是否在一条线上面,即针对线性数据的相关系数计算,针对非线性                                           数据便会有误差。
#kendall:用于反映分类变量相关性的指标,即针对无序序列的相关系数,非正太分布的数据
#spearman:非线性的,非正太分析的数据的相关系数
#min_periods:样本最少的数据量
#返回值:各类型之间的相关系数DataFrame表格。
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()

数据挖掘数据预处理(验证性)相关推荐

  1. 数据挖掘 —— 数据预处理

    数据挖掘 -- 数据预处理 1. 数据清洗 2. 特征预处理 2.1 特征选择 2.2 特征变换 3 特征降维 1. 数据清洗 数据清洗包括数据样本抽样和异常值(空值)处理 直接丢弃(包括重复数据) ...

  2. 数据挖掘-数据预处理的必要性及主要任务

    数据预处理的必要性及主要任务 1.数据预处理的必要性 数据库极易受噪声.缺失值和不一致数据的侵扰,因为数据库太大,并且多半来自多个异构数据源.低质量的数据导致低质量的数据挖掘. 2.数据预处理技术 ( ...

  3. Python数据挖掘 数据预处理案例(以航空公司数据为例)

    Python数据预处理 一.内容: 1.数据清洗 2.数据集成 3.数据可视化 二.实验数据 根据航空公司系统内的客户基本信息.乘机信息以及积分信息等详细数据,依据末次飞行日期( LAST_FLIGH ...

  4. 机器学习与数据挖掘——数据预处理

    如果有兴趣了解更多相关内容,欢迎来我的个人网站看看:瞳孔空间 一:关于数据预处理 在工程实践中,我们得到的数据会存在有缺失值.重复值等,在使用之前需要进行数据预处理.数据预处理没有标准的流程,通常针对 ...

  5. 文本数据挖掘----数据预处理

    一.数据预处理简介 1.为什么要进行数据预处理 一开始拿到的数据在数据的质量方面或多或少有一些问题,即在数据的准确性.完整性.一 致性.合时性(实时性).可信性.解释性等方面可能存在问题,所以需要数据 ...

  6. 数据挖掘—数据预处理

    文章目录 数据预处理 1 数据清洗 缺失值处理 异常值处理 2 数据集成 实体识别 冗余属性识别 数据变换 简单函数变换 规范化 连续属性离散化 属性构造 3 数据规约 属性归约 数值归约 Pytho ...

  7. 人工智能隐私保护:如何在保护隐私的同时保护数据的可维护性和可验证性

    作者:禅与计算机程序设计艺术 <人工智能隐私保护:如何在保护隐私的同时保护数据的可维护性和可验证性> 引言 1.1. 背景介绍 随着人工智能技术的快速发展,我们越来越依赖各种 AI 应用来 ...

  8. 数据挖掘导论 复习一(介绍+数据预处理方法+定性归纳)

    数据挖掘=数据库+机器学习 算法 经验 模型 机器学习任务:分类.回归.聚类(KMeans.DCSAN.层次聚类).数据降维.数据预处理 常用分类器:KNN.贝叶斯. 逻辑回归 .决策树.随机森林 本 ...

  9. 【数据挖掘】分类任务简介 ( 分类概念 | 分类和预测 | 分类过程 | 训练集 | 测试集 | 数据预处理 | 有监督学习 )

    文章目录 I . 分类概念 II . 分类 ( 离散值 ) 和 预测 ( 连续值 ) III . 分类过程 IV . 分类过程中使用的数据集 ( 训练集 | 测试集 | 新数据 ) V . 数据预处理 ...

最新文章

  1. 深度学习数据更换背景_开始学习数据科学的最佳方法是了解其背景
  2. 【java】JVM中Perm区持续上涨问题
  3. cmd查看所有数据库 db2_民生银行数据库自动化部署的探索与实践
  4. mysql 单向自动同步_mysql单向自动同步
  5. 更新新网卡驱动,修复win7雷凌网卡Ralink RT3290在电脑睡眠时和启动网卡时出现蓝屏netr28x.sys驱动文件错误...
  6. Jmeter中生成随机函数和使用csv文件数据
  7. 沙盒技术——selinux控制
  8. JAVA实现MD5算法、SHA1算法和SHA256算法
  9. 秦时明月1架设用哪个java_秦时明月6.2搭建视频架设教程
  10. Java开发者必备十大学习网站
  11. mysql instead of触发_在视图上使用 INSTEAD OF 触发器
  12. 用Racket做一个拼图游戏-01
  13. 关于机器人方面的sci论文_近十年机器人学科中国学者SCI十大发文期刊 - 论文投稿 - 小木虫 - 学术 科研 互动社区...
  14. Django 中 models 用法及参数详解
  15. 全屋智能抢占“中控”,华为、海尔、小米们谁离用户最近?
  16. 旷世face++人脸识别实名鉴权商汤科技ocr二要素哪家强
  17. mysql磁盘读写每秒多少正常_一般硬盘读取速度和写入速度是多少
  18. 教你如何查看自己电脑开关机记录
  19. JavaScript之延迟加载
  20. Oracle 常用命令总结

热门文章

  1. 2008服务器系统ie,windows server 2008 IE增强的安全配置关闭方法
  2. Codeforces 161 B. Discounts (贪心)
  3. 蓝牙HC05模块探究-设置AT指令
  4. 一文读懂SIMD指令集 目前最全SSE/AVX介绍
  5. 解析JPEG文件的GPS信息
  6. IDEA 2020.2 部署JSF项目
  7. 实验6   实现数据完整性
  8. 用python实现卡普雷卡尔黑洞(重排求差黑洞)的计算
  9. 论文写作 18: 审稿意见回复要直截了当
  10. Vue 汉字转大写首字母(非汉字直接输出)