您的位置:首页 > 其它

pandas处理finance.yahoo股票数据 WTI CL USO OIL

2017-06-15 17:16 886 查看

1.参考

用Python做科学计算-基础篇 »matplotlib-绘制精美的图表 »快速绘图 使用pyplot模块绘图

2.数据来源

CL

USO

OIL

3.代码

1 #encoding='utf-8'
2 import pandas  as pd
3 import numpy as np
4 import matplotlib.pyplot as plt
5
6 import matplotlib
7 import sys
8 import time
9
10 print('{:<10}: {}'.format('python',sys.version))
11 print('{:<10}: {}'.format('pandas',pd.__version__))
12 print('{:<10}: {}'.format('numpy',np.__version__))
13 print('{:<10}: {}'.format('matplotlib',matplotlib.__version__))
14 # python    : 3.6.1 (v3.6.1:69c0db5, Mar 21 2017, 18:41:36) [MSC v.1900 64 bit (AMD64)]
15 # pandas    : 0.20.2
16 # numpy     : 1.13.0
17 # matplotlib: 2.0.2
18
19 df_cl = pd.read_csv('CL.csv',na_values=['-'],index_col='日期',parse_dates=['日期'],encoding='gbk')
20 df_uso = pd.read_csv('USO.csv',na_values=['null'],index_col='Date',parse_dates=['Date'])
21 df_oil = pd.read_csv('OIL.csv',na_values=['null'],index_col='Date',parse_dates=['Date'])
22
23 # 传入由Series组成的字典
24 df_merge = pd.DataFrame({'CL':df_cl['最新股价'],'USO':df_uso['Adj Close'],'OIL':df_oil['Adj Close']},columns=['CL','USO','OIL'])
25 # 对不同的列填充不同的值
26 # df_merge_fillna = df_merge.fillna({'CL':df_cl['最新股价'][0],'USO':df_uso['Adj Close'][0],'OIL':df_oil['Adj Close'][0]})
27 df_merge_deal_na = df_merge.dropna()
28
29
30 # plt.figure(1)
31 ax1 = plt.subplot(211)
32 ax2 = plt.subplot(212)
33 # plt.sca(ax1)
34 # plt.plot(df_uso['Adj Close'])只支持index 0 1 2
35 # ax1.set_ylim([0,150])
36 df_cl['最新股价'].plot(ax=ax1,yticks=range(0,150,10),grid=True)
37 df_merge_deal_na.plot(ax=ax2)
38 plt.show()
39 # 需要手动关闭作图窗口才能继续,如果ctrl+c会导致作图窗口无响应
40 # plt.clf()
41 # 如果关闭了图表窗口,则无法使用savefig()保存图像。
42 # http://hyry.dip.jp/tech/book/page/scipy/matplotlib_fast_plot.html
43 ax1 = plt.subplot(211)
44 ax2 = plt.subplot(212)
45 df_cl['最新股价'].plot(ax=ax1,yticks=range(0,150,10),grid=True)
46 df_merge_deal_na.plot(ax=ax2)
47 plt.savefig('result_{}.png'.format(time.strftime('%m%d_%H%M')), dpi=200)

 

4.结果

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: