pandasdatareader安装,pandas数据读取

  pandasdatareader安装,pandas数据读取

  熊猫简介-datareader熊猫库提供了一个专门用于从金融网站获取金融数据的API接口,可以作为获取量化交易股票数据的另一种方式。该接口基于urllib3库,实现了客户端对网站股票数据的访问。需要注意的是,目前该模块已经迁移到了pandas-datareader包中,所以在导入模块时需要从import pandas.io.data as web改为import pandas _ datareader . data as web。

  相关网站

  官方网站

  开源代码库

  0.6.0版操作文件

  DataReader方法介绍查看熊猫的操作文档,可以发现第一个参数是股票代码,苹果的代码是‘AAPL’,国内股市采用的是‘股票代码’和‘对应股市’的输入法。SS“上海证券交易所股票代码后加”。深圳证券交易所股票代码后的“SZ”。DataReader可以从几个金融网站获取股票数据,比如Yahoo!金融”、“谷歌金融”等。这里以雅虎为例。第三和第四个参数是股票数据的开始时间。返回的数据格式是DataFrame。

  Start=datetime . datetime(2017 . 1 . 1)#数据采集时间段-开始时间end=datetime.date.today()#数据采集时间段-结束时间stock=web . datareader( 600797 . ss , Yahoo ,start,End)#获取浙大网新2017 . 1 . 1至今的股票数据分析。1.打印DataFrame数据的前5行和后5行(浙大网新因重大事项停牌,1月6日复牌)

  打印纸张.头部(5)打印纸张.尾部(5)

  2.打印DataFrame的数据索引和列名,索引是时间序列,列信息是开盘价、最高价、最低价、收盘价、复权收盘价、成交量。

  打印股票.索引打印股票.分栏

  3.打印DataFrame的数据形状,索引长度为248,列数为6,即248个交易日,6个股票数据项。

  打印原料.形状

  4.打印数据帧,查看是否有任何缺失数据以及每列数据的类型。

  打印stock.info()

  5.打印每组DataFrame数据的统计,如最小值、最大值、平均值、标准偏差等。

  打印stock.describe()

  6.在数据框中增加一个涨跌柱,涨跌=(当日收盘-前一日收盘)/前一日收盘* 100%

  (1)增加一栏change,存储当日股价与前一日收盘价相比的波动值,即当日收盘价与前一日收盘价的差值。1月3日没有前一天的数据,所以缺失。

  变化=股票。close . diff()stock[ Change ]=Change print stock . head(5)

  (2)对于缺失数据,用上升值和下降值的平均值代替NaN。

  change.fillna(change.mean(),inplace=True)

  (3)波动幅度有两种计算方法。pct_change()算法的思想是先向前减去第二项,再除以第一项,计算出波动序列。

  股票[pct_change]=(股票[ Change ]/股票[Close])。shift(1))# stock[ pct _ change 1 ]=stock。Close.pct_change()

  7.gap gap的数字序列被添加到数据帧中。这里定义的缺口是上升趋势和下降趋势的突破缺口。在上升趋势中,今日最低价高于昨日收盘价,意味着向上跳空;在下跌趋势中,昨日最高价高于今日收盘价,意味着向下跳空。遍历每个交易日,增加满足跳空缺口条件的交易日的跳空值。

  jump_pd=pd。np.arange(1,stock.shape[0])中kl_index的data frame():today=stock . IX[KL _ index]yes day=stock . IX[KL _ index-1]today[ pre cloae ]=yes day。关闭if today[pct_change] 0和(today。low-today[ pre clae ])0:today[ jump _ power ]=(today。low-today[ pre coae ])elif today[ pct _ change ]0和(today。high-today[ pre coae ])0:today[ jump _ power ]=(today。high-today[ pre claae ])jump _ PD=jump _ PD . append(today)stock[ jump _ power ]=jump _ PD[ jump _ power ]print stock . loc[ 2017-04-26 : 2017-06-15 ]#默认打印所有列。

  8.数据帧数据以两位小数显示。

  format=lambda x: % . 2f % x stock=stock . apply map(format)print stock . loc[ 2017-04-26 : 2017-06-15 ]#默认打印所有列

  股价数据的可视化Matplotlib是使用计算机编程语言进行绘图里非常方便的库。这次情节使用的数据是接近的栏的数据。这是所说的已调整收盘价。

  如下仅仅需要两行写就可以简单的将股价作为时间序列数据画出来。

  阿里巴巴plot(legend=True,figsize=(10,4))plt.show()完整示例

  从熊猫导入系列中导入熊猫作为PD,数据帧导入数量作为npimport matplotlib.pyplot作为血小板计数

  从熊猫_datareader导入数据,wb

  从日期时间导入日期时间

  end=datetime.now()

  start=datetime(end.year - 1,end.month,end.day)

  阿里巴巴=数据DataReader(巴巴,雅虎,开始,结束)

  阿里巴巴plot(legend=True,figsize=(10,4))

  plt.show()

  更多图表操作可参考:

  实例操作:Python提取雅虎财经数据,并做数据分析和可视化

  以战斗支援车格式存放将数组作为公证人导入熊猫作为警察局导入pandas_datareader.data作为网导入datetimedf_csvsave=web .DataReader(600018 .SS , yahoo ,datetime.datetime(2019,1,1),datetime.date.today())

  打印(df_csvsave)

  df _ CSV保存。to _ CSV(r c:\ Users \ 15461 \ Desktop \ table。CSV ,columns=df_csvsave.columns,index=True)

  可能遇到的问题在《利用Python进行数据分析》 一书中,学习到熊猫这一章节,利用书中的方法去获取雅虎数据会出现以下问题:

  问题一pandas.io.data模块被移动到一个单独的包(熊猫-datareader)中导入pandas.io.data作为网络回溯(最近一次调用最后):文件pyshell#0 ,第一行,模块中导入pandas.io.data作为网文件c:\ Program Files(x86)\ python 36-32 \ lib \ site-packages \ pandas \ io \ data。py ,第2行,模块pandas.io.data模块被移动到一个单独的包导入错误:pandas.io.data模块被移动到一个单独的包(中安装熊猫-数据阅读器包(https://github。com/pydata/pandas-datareader)后,您可以将导入"从熊猫. io导入数据,wb "更改为"从熊猫_datareader导入数据,wb .根据提示,我们很快可以知道,熊猫。木卫一这个模块已经变成了熊猫_datareader 了,cmd命令行中执行以下语句即可解决这个问题:

  点安装熊猫_datareader用以下语句可以调用模块

  将pandas_datareader.data作为网导入问题二由于大量中断,雅虎行动立即被否决web.get_data_yahoo(AAPL ,2000年一月一日, 2010年一月一日)追溯(最近一次调用是最后一次):文件“pyshell#2”,第一行,位于模块雅虎( AAPL ,2000年一月一日, 2010年一月一日) File C:\ Program Files(x86)\ python 36-32 \ lib \ site-packages \ pandas _ datareader \ data。py ,第63行,位于欢迎重新启用这些数据连接器的请求。

  参见https://github.com/pydata/pandas-datareader/issues

  原因美国美国yahoo公司公司的数据接口有改动导致不可用。

  在网上搜了好久才找到这一方法,这里我们需要引入另外一个模块fix_yahoo_finance ,同样使用点方法进行安装

  点安装修复_雅虎_金融调用方式如下:

  导入pandas_datareader.data为网导入日期时间导入fix _雅虎_财经为yyf。PDR _ override()start=日期时间。日期时间(2006,10,1)

  end=datetime.datetime(2012,1,1)

  web.get_data_yahoo(AAPL ,开始,结束)

  这样子就可以下载雅虎数据了。

  问题三-在键入1/1/2000和1/1/2010后报错这里提示是时间的格式错误,应改为%Y-%m-%d

  解决办法:用于循环这里这样写

  对于[AAPL , IBM , MSFT ,谷歌]中的股票:all _ data[ticker]=web。雅虎公司(股票代码, 2000年1月1日, 2010年1月1日)

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: