Python 摇窗熊猫

Python 摇窗熊猫,python,pandas,Python,Pandas,我需要根据我的时间序列创建一个数据集,其中包含由滚动重叠窗口生成的样本。也就是说,以特定的窗口大小和特定的步长分割数据帧 如何使用熊猫来实现这一点?我看到有一个滚动窗口,但它用于对窗口中的值执行一些聚合(例如,计算滚动平均值)。我只对隔离这些重叠的窗口感兴趣。怎么做 因此,输出将是如下所示的数据帧: 1, a 2, b 3, c 4, d 5, e 6, f 7, g 对于窗口大小3和步骤2,输出为: 1, a 2, b 3, c 3, c 4, d 5, e 5, e 6, f 7, g

我需要根据我的时间序列创建一个数据集,其中包含由滚动重叠窗口生成的样本。也就是说,以特定的窗口大小和特定的步长分割数据帧

如何使用熊猫来实现这一点?我看到有一个滚动窗口,但它用于对窗口中的值执行一些聚合(例如,计算滚动平均值)。我只对隔离这些重叠的窗口感兴趣。怎么做

因此,输出将是如下所示的数据帧:

1, a
2, b
3, c
4, d
5, e
6, f
7, g
对于窗口大小3和步骤2,输出为:

1, a
2, b
3, c

3, c
4, d
5, e

5, e
6, f
7, g

为了澄清,我知道如何为此编写函数,只是想检查Pandas中是否已有可用的功能。

我认为没有任何Pandas函数可以帮助您。一个简单的实现是:

A = pd.DataFrame(index=range(1,10), 
                 data=['a','b','c','d','e','f','g','h','i'], 
                 columns=['letters'])

step = 2 
size = 3
n_examples = len(A)
dataframes = []
k=0

while(k * step + size < n_examples):
    dataframes += [A.loc[k * step:k * step + size]]
    k+=1

print(dataframes)

您是否介意包含一个包含所需输出的最小示例(请参阅)?@JulienMarrec添加了一个示例。如果窗口大小为3且步骤为2,那么它不应该是1,2,3,4吗?@JulienMarrec不,如果步骤为1.FYI,则在此处实现具有特定步骤大小的滚动窗口存在一个开放问题
[  letters
 1       a
 2       b
 3       c,   letters
 2       b
 3       c
 4       d
 5       e,   letters
 4       d
 5       e
 6       f
 7       g]