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学习整理与实践的更多相关文章

  1. 用scikit-learn和pandas学习线性回归

    对于想深入了解线性回归的童鞋,这里给出一个完整的例子,详细学完这个例子,对用scikit-learn来运行线性回归,评估模型不会有什么问题了. 1. 获取数据,定义问题 没有数据,当然没法研究机器学习 ...

  2. Wix学习整理(1)——快速入门HelloWorld

    原文:Wix学习整理(1)--快速入门HelloWorld 1 Wix简介 Wix是Windows Installer XML的简称,其通过类XML文件格式来指定了用于创建Windows Instal ...

  3. 用 scikit-learn 和 pandas 学习线性回归

      用 scikit-learn 和 pandas 学习线性回归¶ from https://www.cnblogs.com/pinard/p/6016029.html 就算是简单的算法,也需要跑通整 ...

  4. Pandas 学习手册中文第二版·翻译完成

    原文:Learning pandas 协议:CC BY-NC-SA 4.0 欢迎任何人参与和完善:一个人可以走的很快,但是一群人却可以走的更远. 在线阅读 ApacheCN 面试求职交流群 72418 ...

  5. js数组学习整理

    原文地址:js数组学习整理 常用的js数组操作方法及原理 1.声明数组的方式 var colors = new Array();//空的数组 var colors = new Array(3); // ...

  6. TweenMax学习整理--特有属性

    TweenMax学习整理--特有属性   构造函数:TweenMax(target:Object, duration:Number, vars:Object) target:Object -- 需要缓 ...

  7. HttpClient学习整理

    HttpClient简介HttpClient 功能介绍    1. 读取网页(HTTP/HTTPS)内容    2.使用POST方式提交数据(httpClient3)    3. 处理页面重定向    ...

  8. !!对python列表学习整理列表及数组详细介绍

    1.Python的数组分三种类型:(详细见 http://blog.sina.com.cn/s/blog_6b783cbd0100q2ba.html) (1) list 普通的链表,初始化后可以通过特 ...

  9. Java设计模式(学习整理)---命令模式

    设计模式之Command(学习整理) 1.Command定义 不少Command模式的代码都是针对图形界面的,它实际就是菜单命令,我们在一个下拉菜单选择一个命令时,然后会执行一些动作. 将这些命令封装 ...

随机推荐

  1. C++ GDI图形设备接口

    一.概念 1. GDI:(Graphics Device Interfase)图形设备接口,是一个应用程序与输出设备之间的中介. 一方面,GDI向应用程序提供一个与设备无关的编程环境,另一方面,它又以 ...

  2. 上传文件至Github仓库

    Github的使用 创建一个本地的版本库(也就是一个文件夹) 新建文件夹,或使用Git bash命令行窗口创建 $ mkdir test $ cd test 在命令行中输入 git init把这个文件 ...

  3. kubernetes网络之Flannel

    简介 Flannel是CoreOS团队针对Kubernetes设计的一个网络规划服务,简单来说,它的功能是让集群中的不同节点主机创建的Docker容器都具有全集群唯一的虚拟IP地址. 在默认的Dock ...

  4. 【数据库】数据库入门(三): SQL

    SQL: 结构化查询语言(Structured Query Language) SQL 是由 IBM 公司首先开发产生,它是关系型数据库最早出现的商用语言之一.1974年,IBM 公司 San Jos ...

  5. AES加密解密工具类封装(AESUtil)

    package club.codeapes.common.utils; import org.springframework.util.Base64Utils; import javax.crypto ...

  6. Laravel实现用户的注册、登录

    一.安装 Laravel(使用 Laravel5.5) 通过 Composer 创建项目 composer create-project --prefer-dist laravel/laravel s ...

  7. vue2.0 在页面中使用process获取全局路径的时候 报错 process is not defined

    如果是刚配置好的全局变量需要 重新启动一下vue才能通过proccess.env.xxx 获取到 如果想在html中使用 需要在data中声明一个变量 然后在vue生命周期中 将process.env ...

  8. rest framework 之路由系统

    一.自定义路由 1.urls.py from django.conf.urls import url, include from web.views import s11_render urlpatt ...

  9. 如何预防SQL注入

    归纳一下,主要有以下几点: 1.永远不要信任用户的输入.对用户的输入进行校验,可以通过正则表达式,或限制长度:对单引号和 双"-"进行转换等. 2.永远不要使用动态拼装sql,可以 ...

  10. linux命令当前文件夹下面模糊搜索文件

    在当前文件夹下面模糊搜索文件: find . -type f | xargs grep 'boot',"boot"表示文件名中包含的字符串