pandas处理finance.yahoo股票数据 WTI CL USO OIL
1.参考
用Python做科学计算-基础篇 »matplotlib-绘制精美的图表 »快速绘图 使用pyplot模块绘图
2.数据来源
3.代码
#encoding='utf-8'
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt import matplotlib
import sys
import time print('{:<10}: {}'.format('python',sys.version))
print('{:<10}: {}'.format('pandas',pd.__version__))
print('{:<10}: {}'.format('numpy',np.__version__))
print('{:<10}: {}'.format('matplotlib',matplotlib.__version__))
# python : 3.6.1 (v3.6.1:69c0db5, Mar 21 2017, 18:41:36) [MSC v.1900 64 bit (AMD64)]
# pandas : 0.20.2
# numpy : 1.13.0
# matplotlib: 2.0.2 df_cl = pd.read_csv('CL.csv',na_values=['-'],index_col='日期',parse_dates=['日期'],encoding='gbk')
df_uso = pd.read_csv('USO.csv',na_values=['null'],index_col='Date',parse_dates=['Date'])
df_oil = pd.read_csv('OIL.csv',na_values=['null'],index_col='Date',parse_dates=['Date']) # 传入由Series组成的字典
df_merge = pd.DataFrame({'CL':df_cl['最新股价'],'USO':df_uso['Adj Close'],'OIL':df_oil['Adj Close']},columns=['CL','USO','OIL'])
# 对不同的列填充不同的值
# df_merge_fillna = df_merge.fillna({'CL':df_cl['最新股价'][0],'USO':df_uso['Adj Close'][0],'OIL':df_oil['Adj Close'][0]})
df_merge_deal_na = df_merge.dropna() # plt.figure(1)
ax1 = plt.subplot(211)
ax2 = plt.subplot(212)
# plt.sca(ax1)
# plt.plot(df_uso['Adj Close'])只支持index 0 1 2
# ax1.set_ylim([0,150])
df_cl['最新股价'].plot(ax=ax1,yticks=range(0,150,10),grid=True)
df_merge_deal_na.plot(ax=ax2)
plt.show()
# 需要手动关闭作图窗口才能继续,如果ctrl+c会导致作图窗口无响应
# plt.clf()
# 如果关闭了图表窗口,则无法使用savefig()保存图像。
# http://hyry.dip.jp/tech/book/page/scipy/matplotlib_fast_plot.html
ax1 = plt.subplot(211)
ax2 = plt.subplot(212)
df_cl['最新股价'].plot(ax=ax1,yticks=range(0,150,10),grid=True)
df_merge_deal_na.plot(ax=ax2)
plt.savefig('result_{}.png'.format(time.strftime('%m%d_%H%M')), dpi=200)
4.结果

pandas处理finance.yahoo股票数据 WTI CL USO OIL的更多相关文章
- Yahoo 股票数据抓取
Yahoo提供日线级别的历史数据,包括国内外各交易所的数据,可以写爬虫抓取数据做简单的分析. api基本格式如下: http://ichart.yahoo.com/table.csv?s=<st ...
- 【机器学习】Pandas库练习-获取yahoo金融苹果公司的股票数据
# 获取yahoo金融苹果公司的股票数据. # 1.分析拉取的数据,找到收盘数据列的列名. # 2.绘制收盘价格柱状图. # 3.分析拉取的数据涨跌率,股价移动平均和波动率. # 4. 找出开盘价和收 ...
- [N久以前发布的文章]php 获取yahoo股票csv数据并封闭成为接口输出json数据
思路 先从yahoo接口获取数据,再定义接口,转化成为json输出.只供卡通网(kt5.cn)使用 stock.php 接口处理代码 <?php header("Content-Typ ...
- 用Pandas Dataframe来架构起金融股票数据的内部形态
2. 金融股票数据的另一个形态,怎样在业务内部流动,同时怎样避免错误 前一篇讲解了股票的原始状态,那麽在业务过程中,数据会变成怎样的形态,来完成众多奇奇怪怪的业务呢,以下将会解答. 首先,任何股票都有 ...
- 用Python浅析股票数据
用Python浅析股票数据 本文将使用Python来可视化股票数据,比如绘制K线图,并且探究各项指标的含义和关系,最后使用移动平均线方法初探投资策略. 数据导入 这里将股票数据存储在stockData ...
- R语言获取国内的股票数据
quantmod 包默认是访问 yahoo finance 的数据,其中包括上证和深证的股票数据,还有港股数据. 上证代码是 ss,深证代码是 sz,港股代码是 hk 例如苏宁云商 setSymbol ...
- 新浪实时股票数据接口http://hq.sinajs.cn/list=code
股票数据的获取目前有如下两种方法可以获取:1. http/javascript接口取数据2. web-service接口 1.http/javascript接口取数据1.1Sina股票数据接口以大秦铁 ...
- yahoo 交易数据
yahoo提供国内和国外股市每天的交易数据资料,这可谓一大幸事啊.http://table.finance.yahoo.com/table.csv?s=ibm&d=6&e=22& ...
- 获取sina,baidu,google财经历史和实时股票数据接口
实时股票数据接口 股票数据的获取目前有如下两种方法可以获取:1. http/javascript接口取数据2. web-service接口1.http/javascript接口取数据1.1Sina股票 ...
随机推荐
- 使用chttpfile的一个错误
先贴一部分代码 CString strHttpName="http://localhost/TestReg/RegForm.aspx"; // 需要提交数据的页面 CString ...
- ThreadLocal与Synchronized区别
ThreadLocal和Synchonized都用于解决多线程并发访问他们两者的区别:synchronized是利用锁的机制,使变量或代码块在某一时该只能被一个线程访问,而ThreadLocal为每一 ...
- centos中释放缓存的方法
释放缓存区内存的方法 a)清理pagecache(页面缓存) # > /proc/sys/vm/drop_caches 或者 # sysctl - b)清理dentries(目录缓存)和inod ...
- HAProxy从零开始到掌握
转自:https://www.jianshu.com/p/c9f6d55288c0 目录: HAProxy是什么 HAProxy的核心能力和关键特性 HAProxy的安装和运行 使用HAProxy搭建 ...
- 协程,twisted
最原始的请求url_list=[ 'https://www.cnblogs.com/yunxintryyoubest/category/1338759.html', 'https://www.cnbl ...
- CentOS 7 连接ssh方法
自己在VMware中装了CentOS 6.3,然后主机(或者说xshell)与里面的虚拟机连不通,刚学习,一头雾水,查了半天,也不知道怎么弄. 经指点,找到下面这篇文章,感谢博主: http://bl ...
- es6 super关键字
rhttp://es6.ruanyifeng.com/#docs/class-extends super关键字,既可以当作函数使用,也可以当作对象使用.这俩种的使用是不一样的 第一种:函数使用 代表父 ...
- GZip使用
class Program { static void Main(string[] args) { //Trace.Listeners.Clear(); //Trace.Listeners.Add(n ...
- Java_oracle超出打开游标的最大数的原因和解决方案
第一步:核查Oracle数据库 的游标的最大数 处理超出打开游标的最大数异常(ORA-01000: maximum open cursors exceeded) ORA-01000_maximum_o ...
- Django项目的创建及基本使用
安装步骤 Django是Python进行Web开发的框架,目前应用比较广泛.使用python进行Web开发,能够很快的搭建所需的项目,可以运用于原型开发,也可以部署到实际的应用环境. 使用Django ...