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模式的代码都是针对图形界面的,它实际就是菜单命令,我们在一个下拉菜单选择一个命令时,然后会执行一些动作. 将这些命令封装 ...
随机推荐
- 换个语言学一下 Golang (12)——Web基础
一.web工作方式 我们平时浏览网页的时候,会打开浏览器,输入网址后按下回车键,然后就会显示出你想要浏览的内容.在这个看似简单的用户行为背后,到底隐藏了些什么呢?对于普通的上网过程,系统其实是这样做的 ...
- Vue相关知识点记录
1.安装 vue不支持ie8以下版本(无法模拟ECMAScript5特性),支持所有兼容ECMAScript5的浏览器. 浏览器安装Vue Devtools, 可以在更友好的界面中审查和调试Vue应用 ...
- 【开发笔记】-Tomcat启动时设置Jdk版本
1. Window版本Tomcat 到bin下的setclasspath.bat文件,在文件的开始处添加如下代码: set JAVA_HOME=D:\Program Files\Java\jdk1.8 ...
- 32、flex布局
html: <div class="parent"> <div class="son">1</div> <div cl ...
- consul:健康检查
官方文档:https://www.consul.io/docs/agent/checks.html consul提供的健康检查有以下几种: 1.script+interval 2.http+inter ...
- Android源码分析(三)-----系统框架设计思想
一 : 术在内而道在外 Android系统的精髓在源码之外,而不在源码之内,代码只是一种实现人类思想的工具,仅此而已...... 近来发现很多关于Android文章都是以源码的方向入手分析Androi ...
- Java 使用properties配置文件加载配置
一般我们不把数据库的配置信息写死在代码中. 写好代码后,编译.调试,成功后只把输出目录中的东西(jar包..class文件.资源文件等)拷贝到服务器上,由运维来管理.服务器上是没有源文件的(.java ...
- Protobuf协议应用干货
Protobuf应用广泛,尤其作为网络通讯协议最为普遍.本文将详细描述几个让人眼前一亮的protobuf协议设计,对准备应用或已经应用protobuf的开发者会有所启发,甚至可以直接拿过去用. 这里描 ...
- 【Maven】Maven之scope依赖范围
一.理解Maven scope依赖范围的作用 Maven在编译项目主代码的时候需要使用一套classspath.总共有三种classpath,分别对应于Maven编译项目主代码的时候.Maven编译和 ...
- (八)Kubernetes Ingress资源
前言 Kubernetes提供了两种内建的云端负载均衡机制(cloud load balancing)用于发布公共应用,一种是工作于传输层的Service资源,它实现的是“TCP负载均衡器”,另一种是 ...