python数据处理——numpy rolling构造数据集操作

这是一个经常在机器学习中需要用到的操作,比如我们现在有一个dataframe样的数据集,我们需要把它feed进一个模型之中,我们首先要进行数据集的构造和切分工作.
比如数据集是一个日频的股票数据,我们要构造的样本,每一个样本回看100天,即长度是100,步长为2的数据,我们可以借助numpy下的一个函数来进行

from numpy.lib.stride_tricks import sliding_window_view

sliding_window_view(np.array([1, 2, 3, 4, 5, 6]), window_shape = 3)
# array([[1, 2, 3],
#        [2, 3, 4],
#        [3, 4, 5],
#        [4, 5, 6]])

对于我们的数据集,进行的操作就是:

import pandas as pd
from numpy.lib.stride_tricks import sliding_window_view
data = pd.read_csv('data.csv',index_col=0).values #这个data是我们要使用的数据集
#data.shape (1000,50) 1000天,feature的维度是50
data_set = sliding_window_view(data,window_shape=100)[::2, :] 
#设置窗口长度为100,步长是2
#data。shape (sample_num,100,50)

你可能感兴趣的:(工具介绍,python数据处理,python,机器学习,开发语言)