zoukankan      html  css  js  c++  java
  • pandas处理finance.yahoo股票数据 WTI CL USO OIL

    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.结果

  • 相关阅读:
    hdu 1255 矩形覆盖面积(面积交)
    hdu 3642 覆盖3次以上体积
    hdu 3255 体积并
    hdu 3265 矩形剪块面积并
    HDU 3397 区间覆盖,颠倒,合并(好题)
    ACM-线段树扫描线总结
    POJ 3667 线段树区间合并
    数组排序----Demo
    Spring MVC配置详解(3)
    生产者消费者模式--
  • 原文地址:https://www.cnblogs.com/my8100/p/7018926.html
Copyright © 2011-2022 走看看