一、初识Pandas

Pandas 是基于 NumPy 的一个非常好用的库,它有两种自己独有的基本数据结构Series (一维)和 DataFrame(二维),它们让数据操作更简单了。虽然Pandas有着两种数据结构,但它依然是 Python 的一个库,所以,Python 中有的数据类型在这里依然适用,也同样还可以使用类自己定义数据类型。

在金融数据分析领域,Pandas更是起到了非常重要的作用,比如用于量化交易。Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具,对于亿级的数据处理也如鱼得水。

二、Pandas基本操作

1、Series的创建
Series的创建主要有三种方式:

1)通过一维数组创建Series
import numpy as npimport pandas as pd#创建一维数组a = np.arange(10)
print(a)
s = pd.Series(a)
print(s)

输出如下:

2)通过字典的方式创建Series
import numpy as npimport pandas as pd#创建字典d = {'a':1,'b':2,'c':3,'d':4,'e':5}
print(d)s = pd.Series(d)
print(s)

输出如下:

3)通过DataFrame中的某一行或某一列创建Series

参考下面DataFrame第三种创建方式中的s = df3['one']。

2、DataFrame的创建

DataFrame的创建主要有三种方式:

1)通过二维数组创建DataFrame
import numpy as npimport pandas as pd#创建二维数组a = np.array(np.arange(12)).reshape(3,4)
print(a)df1 = pd.DataFrame(a)
print(df1)

输出如下:

2)通过字典的方式创建DataFrame

以下以两种字典来创建数据框,一个是字典列表,一个是嵌套字典。

import numpy as npimport pandas as pdd1 = {'a':[1,2,3,4],'b':[5,6,7,8],'c':[9,10,11,12],'d':[14,14,15,16]}
print(d1)df1 = pd.DataFrame(d1)
print(df1)d2 = {'one':{'a':1,'b':2,'c':3,'d':4},'two':{'a':5,'b':6,'c':7,'d':8},'three':{'a':9,'b':10,'c':11,'d':12}}
print(d2)df2 = pd.DataFrame(d2)
print(df2)

输出如下:

3)通过DataFrame的方式创建DataFrame

我们取出2)中的df2来创建df3

df2 = pd.DataFrame(d2)print(df2)df3 = df2[['one','two']]print(df3)s = df3['one']print(s)

输出如下:

三、处理股票数据

接下来,我们通过实例来学习Pandas在处理股票数据上的应用。
我们使用pandas_datareader来获取阿里巴巴的股票数据。

1)导入以下库:
import pandas as pdimport pandas_datareader.data as web#绘图使用import matplotlib.pyplot as plt#获取时间使用import datetime
2)设置股票名称和时间参数
name = "BABA"start = datetime.datetime(2015,1,1)end = datetime.date.today()
3)获取股票数据
prices = web.DataReader(name, "google", start, end)
4)查看prices的类型
print(type(prices))

打印如下:

<class 'pandas.core.frame.DataFrame'>

可以看到返回的数据类型就是DataFrame类型。

5)查看股票的摘要信息
print(prices.describe()

打印 如下:

             Open        High         Low       Close        Volumecount  791.000000  791.000000  792.000000  792.000000  7.920000e+02mean   106.632099  107.793186  105.355164  106.614520  1.610571e+07std     38.191772   38.539981   37.719848   38.156416  9.941683e+06min     57.300000   58.650000   57.200000   57.390000  2.457439e+06
25%     79.855000   80.945000   79.157500   79.935000  1.003487e+07
50%     91.000000   91.740000   89.925000   90.705000  1.350020e+07
75%    119.315000  120.400000  118.462500  120.205000  1.879724e+07max    204.830000  206.200000  202.800000  205.220000  9.704593e+07

再来打印最新的三条信息

print(prices.tail(3))
              Open    High     Low   Close    VolumeDate                                                2018-02-21  189.37  193.17  188.46  188.82  22071585
2018-02-22  190.20  190.74  187.77  188.75  12282843
2018-02-23  190.18  193.40  189.95  193.29  16937275
6)绘图

我们将阿里巴巴的股票数据按照开盘价绘图。

plt.plot(prices.index, prices["Open"])plt.show()

从图中我们可以看到阿里巴巴的股票一路攀升,细心点发现每年的11月都有一个高点。

四、总结

Pandas是以NumPy和Matplotlib为基础封装的金融数据分析的库,对于量化交易十分有用,通过可视化的效果能帮我们一定程度分析股市的走向。

python之股票数据分析相关推荐

  1. 使用 Python 对股票数据分析预测

    使用 Python 对股票数据分析预测 文章目录 使用 Python 对股票数据分析预测 目录索引 模块安装 股票数据获取 雅虎财经 Quandl 模块 Pandas Datareader 模块 数据 ...

  2. Python实现股票数据分析的可视化

    Python实现股票数据分析的可视化 文章目录 Python实现股票数据分析的可视化 一.简介 二.代码 1.主文件 2.数据库使用文件 3.ui设计模块 4.数据处理模块 三.数据样例的展示 四.效 ...

  3. 用python进行股票数据分析_利用python进行股票数据分析

    个人觉得这问题问的不太对,说句不好的话,你是来搞编程的还是做股票的. 当然,如果题主只是用来搜集资料,看数据的话那还是可以操作一波的,至于python要怎么入门,个人下面会推荐一些入门级的书籍,通过这 ...

  4. python股票数据分析_用Python进行股票数据分析

    本篇运用Python进行自选股的数据分析,帮助进行投资决策,分析用到以下两个模块:pandas(数据分析包):pandas_datareader(可以查询雅虎的股票数据接口). 本篇参考了猴子老师的课 ...

  5. python tus股票数据分析_使用Python进行快速复盘[1]: 数据获取与整理

    各位小伙伴周末好,本周想给大伙分享的内容是使用Python进行复盘,有小伙伴问到自己是否有必要学习Python,不可否认Python在进行数据分析时有很多优势,学习曲线也不算特别陡峭,但每个人具体情况 ...

  6. 用python做股市数据分析一_用python做股票数据分析(兴趣篇)

    本文我们一起用python来对某只股票的所有历史日数据,做一个探索性的分析,看看能不能有一些有趣的发现,希望能激起你对金融数据分析的兴趣.主要用到numpy,pandas模块的一些基本用法.本文的所有 ...

  7. python tus股票数据分析_python 股票量化分析(一)---基于Tushare平台的个股历史行情获取...

    在浩瀚如烟的股票中,如何将好股选择出来?长线.中线.短线个股如何筛选?国内外政治.经济.地缘博弈基本面对股市的影响有多大,怎样将其纳入股票选择买卖的决策因子?公司财报.未来规划.公司所处行业发展前景怎 ...

  8. 用python进行股票数据分析_用 Python 做股市数据分析(2)

    这篇博文是用Python分析股市数据系列两部中的第二部,内容基于我在阅读第一部分).在这两篇博文中,我会讨论一些基础知识,包括比如如何用pandas从雅虎财经获得数据, 可视化股市数据,平均数指标的定 ...

  9. python tus股票数据分析_用TuShare验证股市中的“春节效应”

    在中国股民的印象中,农历年后股市一般上涨的概率较大,所以很多投资者会在农历年前买入股票,以待年后股市上涨收取红包,这叫做股市中的"春节效应".那么实际上存不存在这种"春节 ...

  10. 使用python对股票数据分析预测

    安装quandl 安装Pandas_Datareader 1.获取数据 import Pandas_Datareader.data as web import datetime start=datet ...

最新文章

  1. 屏蔽敏感词的正则表达式
  2. LFFD ncnn torch
  3. 在ASP程序设计中在使用Response对象
  4. Mybatis-增删改查模糊查询分页注解(普通类型参数、引用类型参数、Map类型参数)
  5. Qt / 如何解决移动了 Qt 的项目,但是 Qt 在原目录下生成编译文件的问题
  6. php mssql image,linux+php连接mssql
  7. C# 代理HTTP请求
  8. SpirngMVC通过Ajax传递多个对象
  9. Struts2笔记——15.Spring的事务
  10. python批量下载b站_python 批量下载bilibili视频的gui程序
  11. oracle修改默认值语句,Oracle 常用的修改语句
  12. 【电子签章】HTML格式合同转化成PDF文件
  13. 使用SharePoint Designer 2010新建外部内容类型,并解决访问被拒绝问题
  14. linux lefse分析,LEfSe分析,你真的懂了么
  15. Oliver的成绩(score)
  16. 【AlgorithmTraining】08:Leetcode(上)
  17. 关于 RTOS 的选择
  18. JAVA网络爬虫(无头浏览器ChromeDriver)
  19. 第七章 MapReduce详解
  20. [全网首发!超级简单!] iOS开Minecraft:Java版服务端

热门文章

  1. Android Studio适配Mac M1
  2. python捕获屏幕的标准库_Python标准库urllib2的使用和获取网站状态举例
  3. 关于网络传输单位的换算
  4. 深圳市已获取支付牌照公司
  5. 王小川告别搜狗那一天
  6. 标志寄存器FLAGS----小总结
  7. android hidl简单实例1
  8. 云队友丨任正非内部演讲:星光不问赶路人
  9. 经营项目计算机、软件及辅助设备、
  10. 【行业应用案例】区块链+珠宝应用案例分析