zoukankan      html  css  js  c++  java
  • Pandas对行情数据的预处理

    库里是过去抓取的行情数据,间隔6秒,每分钟8-10个数据不等,还有开盘前后的一些数据,用Pandas可以更加优雅地进行处理。

    image

    需要把当前时间设置为index

    df=df.set_index('time') #设置时间为索引字段

    但是还是字符串,需要改为datetime类型:

    ii=[datetime.strptime(idx,'%Y-%m-%d %H:%M:%S') for idx in df['time']] #索引列
    df['newc']=ii
    df=df.set_index('newc')

    这样就得到datetime类型的index了,要保留分钟的数据,有两个方法,重新采样或者分组。

    重采样:

    fz=df.resample('T')
    pr=fz['price'].mean()
    am=fz['amount'].max()

    分组:

    df=df.groupby(lambda x:x.minute).mean()

    或者直接用字符串进行分组,同时对价格取平均值,对成交量取最大值:

    df=df.groupby(lambda x:x[:16])
    pr=df['price'].mean()
    am=df['amount'].max()

    对于分组/采样结果,还可以用ohlc方法,很酷:

    image

    对比起来,用时间索引重采样的方式,可能更加灵活。因为诸如1分钟、5分钟、10分钟、半小时等各种时间节点,可以快速表示无需复杂的代码。

  • 相关阅读:
    DS博客作业03--树
    DS博客作业02--栈和队列
    DS博客作业02--线性表
    c博客06-结构体&文件
    c博客作业-指针
    C语言博客作业04--数组
    C语言博客作业03--函数
    图书馆
    5-互评-OO之接口-DAO模式代码阅读及应用.xls
    DS博客作业04--图
  • 原文地址:https://www.cnblogs.com/jetz/p/7048978.html
Copyright © 2011-2022 走看看