时间序列数据集按照相同大小的块进行分割

2024-09-21 01:11:11 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个时间序列数据集来预测股票市场价格,格式是:2015-2019年的日期和浮动值的时间步长t1-t300。你知道吗

Date         t1     t2    t3    t4  ... t300
01-01-2019   -0.34  0.40  0.50  1.2
02-01-2019   0.45   0.56  0.34  0.45
 ...

我想将每一行分割成相等的数据块(50个时间步)并将其附加到数组中。你知道吗

期望数组,t1-t50表示t1、t2、t3、t4到t50的值,依此类推。你知道吗

[ 
   [[t1-t50],[t50-t100],[t100-t150],[t150-t200],[t200-t250],[t250-t300] ],
   [[t1-t50],[t50-t100],[t100-t150],[t150-t200],[t200-t250],[t250-t300] ],
   ...
 ]

提前谢谢。你知道吗


Tags: 数据时间序列数组t1t3t2股票市场
1条回答
网友
1楼 · 发布于 2024-09-21 01:11:11

IIUC,您需要在axis=1上拆分df,使用^{}

np.split(df,df.shape[1]/50,axis=1)
#or np.split(df.values,df.shape[1]/50,axis=1)

添加示例:

df=pd.DataFrame(np.arange(0,30).reshape(5,6))
print(df)

    0   1   2   3   4   5
0   0   1   2   3   4   5
1   6   7   8   9  10  11
2  12  13  14  15  16  17
3  18  19  20  21  22  23
4  24  25  26  27  28  29

如果要将每行拆分为3个值,请基于上述df:

np.split(df.values,df.shape[1]/3,axis=1)

[array([[ 0,  1,  2],
    [ 6,  7,  8],
    [12, 13, 14],
    [18, 19, 20],
    [24, 25, 26]]), array([[ 3,  4,  5],
    [ 9, 10, 11],
    [15, 16, 17],
    [21, 22, 23],
    [27, 28, 29]])]

相关问题 更多 >

    热门问题