Pandas学习整理与实践
Part 1. Pandas初识
作为一款数据处理工具,Pandas本身集成了Numpy(数据计算处理)及matplotlib(绘图),其便捷的数据处理能力、方便的文件读写以及支持多维度的表示方式使其在数据分析方面被广泛使用。
Pandas在数据结构上,常用的形式有三种:DataFrame、Series以及Panel。关于这三种数据结构,简单层面上可以将其理解为:Series接近一维数组的表示方式;DataFrame则接近于二维拥有行列索引的数据表格;Panel则接近多维度的数据表示方法。
总结一句话:Panel是DataFrame的容器,DataFrame是Series的容器。
Part 2. Pandas学习
关于知识点的梳理,我认为有一个层面上的认识后整理做图表的方式更有利于后续检索与熟识,毕竟这些知识点用时想到,检索即可。以下用思维导图的方式进行盘点(最近开始发掘思维导图的用处极佳):(待继续补充丰富)
Part 3. 实践出真知
上周关于统计学数据已有了一定的编码,今天就股票数据做一次整体的应用,结合非常方便实用的pandas.DataFrame.details()方法,可以很方便的得到一般性指标。
import pandas_datareader.data as web
import matplotlib.pyplot as plt
import datetime
start = datetime.datetime(2018,3,28) #获取数据的时间段-起始时间
end = datetime.date.today() #获取数据的时间段-结束时间
stock = web.DataReader("BILI", "yahoo", start, end) #获取BILIBILI自2018年3月28日至今的股票数据
stock["Change"]=stock["Close"]-stock["Open"] #统计一天的涨幅
stock_details = stock.describe() #显示一般的统计数据指标
up_days = stock[stock["Change"]>=0].shape[0] #上涨天数
down_days = stock[stock["Change"]<0].shape[0] #下跌天数
print('BILI股票具体数据表格',stock)
print('BILI股票相关统计数据',stock_details)
print('从2018/3/28至今,共上涨:%d 天' %up_days)
print('从2018/3/28至今,共下跌:%d 天' %down_days)
stock["Change"].cumsum().plot() #涨幅连续统计图表
plt.show()
由describe()
方法可以得到
经过接连的涨幅后得到股票整体简单的变化行情
Pandas学习整理与实践的更多相关文章
- 用scikit-learn和pandas学习线性回归
对于想深入了解线性回归的童鞋,这里给出一个完整的例子,详细学完这个例子,对用scikit-learn来运行线性回归,评估模型不会有什么问题了. 1. 获取数据,定义问题 没有数据,当然没法研究机器学习 ...
- Wix学习整理(1)——快速入门HelloWorld
原文:Wix学习整理(1)--快速入门HelloWorld 1 Wix简介 Wix是Windows Installer XML的简称,其通过类XML文件格式来指定了用于创建Windows Instal ...
- 用 scikit-learn 和 pandas 学习线性回归
用 scikit-learn 和 pandas 学习线性回归¶ from https://www.cnblogs.com/pinard/p/6016029.html 就算是简单的算法,也需要跑通整 ...
- Pandas 学习手册中文第二版·翻译完成
原文:Learning pandas 协议:CC BY-NC-SA 4.0 欢迎任何人参与和完善:一个人可以走的很快,但是一群人却可以走的更远. 在线阅读 ApacheCN 面试求职交流群 72418 ...
- js数组学习整理
原文地址:js数组学习整理 常用的js数组操作方法及原理 1.声明数组的方式 var colors = new Array();//空的数组 var colors = new Array(3); // ...
- TweenMax学习整理--特有属性
TweenMax学习整理--特有属性 构造函数:TweenMax(target:Object, duration:Number, vars:Object) target:Object -- 需要缓 ...
- HttpClient学习整理
HttpClient简介HttpClient 功能介绍 1. 读取网页(HTTP/HTTPS)内容 2.使用POST方式提交数据(httpClient3) 3. 处理页面重定向 ...
- !!对python列表学习整理列表及数组详细介绍
1.Python的数组分三种类型:(详细见 http://blog.sina.com.cn/s/blog_6b783cbd0100q2ba.html) (1) list 普通的链表,初始化后可以通过特 ...
- Java设计模式(学习整理)---命令模式
设计模式之Command(学习整理) 1.Command定义 不少Command模式的代码都是针对图形界面的,它实际就是菜单命令,我们在一个下拉菜单选择一个命令时,然后会执行一些动作. 将这些命令封装 ...
随机推荐
- AQS原理
1. AQS原理 1.1. 是什么 AQS全程AbstractQueuedSynchronizer抽象队列同步器,它是并发包中的基础类 ReetrantLock,ReentrantReadWriteL ...
- 网址URL分解
http://www.joymood.cn:8080/test.php?user=admin&pwd=admin#login 1.location.href:得到整个如上的完整url 2.lo ...
- 面试题:栈的push和pop序列是否一致
参数是两个数组,arr1,arr2 stack stack = new Stack() for(int i=0;j=0;i<arr1.length;i++){ stack.push(arr[i] ...
- rpm安装与yum安装的区别
linux下的安装包多为rpm安装包.通常安装方法为 rpm -ivh 包的路径+包名.rpm 其中参数-i为安装 -v显示信息 -h显示进度条.这三个参数基本捆绑使用rpm的路径不单可以是本地磁 ...
- 分享一篇最近新写的jquery注册页面表单校验的程序,仅供参考
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- 浅谈Python设计模式 - 抽象工厂模式
声明:本系列文章主要参考<精通Python设计模式>一书,并且参考一些资料,结合自己的一些看法来总结而来. 在上一篇我们对工厂模式中的普通工厂模式有了一定的了解,其实抽象工作就是 表示针对 ...
- zabbix--CPU监控并告警
zabbix监控CPU超值则报警 由于默认没有 cpu 的使用率监控,需要添加一个监控项,通过 system.cpu.util[,,] 来进行配置 添加监控项 添加图形 添加触发器 展示图
- 攻防世界WEB高手进阶之blgdel
CISCN final 打开页面 扫描目录 Robots.txt Config.txt 代码审计 <?php class master { private $path; private $nam ...
- 【还是畅通工程 HDU - 1233】【Kruskal模板题】
Kruskal算法讲解 该部分内容全部摘录自刘汝佳的<算法竞赛入门经典> Kruskal算法的第一步是给所有边按照从小到大的顺序排列. 这一步可以直接使用库函数 qsort或者sort. ...
- 开发基础之牛逼哄哄的 Lambda 表达式,简洁优雅就是生产力
什么是Lambda? 我们知道,对于一个Java变量,我们可以赋给其一个“值”. 如果你想把“一块代码”赋给一个Java变量,应该怎么做呢? 比如,我想把右边那块代码,赋给一个叫做aBlockOfCo ...