tushare每日a股

# convert series to supervised learning
def series_to_supervised(data, n_in=1, n_out=1, dropnan=False):
    #data,全部列参与数据复制处理
    #n_in,dataframe的复制次数,历史周期的个数。如果n_in=0,不加入历史周期的数据。
    #n_out,dataframe的复制次数,未来周期(含当前期)的个数.如果n_out=0,不加入当前期和未来周期的数据。
    #默认nan不做删除
    #产出,dataframe的未来n_out和历史n_in期的数据集合。
    n_vars = 1 if type(data) is list else data.shape[1] #样本data的列数
    df = pd.DataFrame(data)                                #样本data
    cols, names = list(), list()
    # input sequence (t-n, ... t-1)
    for i in range(n_in, 0, -1):  
        cols.append(df.shift(i))                        #shift(i),datafame向下顺移i位,前i列为nan
        names += [('%s(t-%d)' % (data.columns[j], i)) for j in range(n_vars)] #j+1,data的x列
    # forecast sequence (t, t+1, ... t+n)
    for i in range(0, n_out):
        cols.append(df.shift(-i))                        #shift(-i),datafrate向上顺移i位,后i列为nan
        if i == 0:
            names += [('%s(t)' % (data.columns[j])) for j in range(n_vars)]
        else:
            names += [('%s(t+%d)' % (data.columns[j], i)) for j in range(n_vars)]
    # put it all together
    agg = pd.concat(cols, axis=1) #axis=1,0轴垂直往下,1轴向右水平延伸
    agg.columns = names
    # drop rows with NaN values
    if dropnan:
        agg.dropna(inplace=True) #默认how='any',有任何nan就删除
    return agg
    
df_ths_daily_all = df_ths_daily_all[['TS指数代码','指数名称','交易日','收盘点位','震荡类型_05','震荡类型_11','震荡类型_23','环比_05_r','环比_11_r','环比_23_r']]
df_ths_daily_all_c1 = df_ths_daily_all[df_ths_daily_all['TS指数代码']=='861001.TI']

series_to_supervised(df_ths_daily_all_c1, n_in=3, n_out=1, dropnan=False)



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

立军touyo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值