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

本文介绍了如何使用Python的`numpy`库中的`sliding_window_view`函数,从日频股票数据中构造样本,每个样本包含100天数据,步长为2。通过pandas读取CSV数据并进行操作,展示了数据集切分技巧在机器学习中的实践。
摘要由CSDN通过智能技术生成

这是一个经常在机器学习中需要用到的操作,比如我们现在有一个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)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

量化橙同学

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

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

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

打赏作者

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

抵扣说明:

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

余额充值