【发布时间】:2017-03-30 20:18:46
【问题描述】:
我需要根据我的时间序列创建一个数据集,其中包含由滚动重叠窗口制成的样本。也就是说,用一定的窗口大小和一定的步长分割我的数据框。
如何使用 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
为了清楚起见,我知道如何为此编写一个函数,只是想检查一下 Pandas 中是否有可用的东西。
【问题讨论】:
-
您介意包含一个包含所需输出的最小示例吗(请参阅mcve)?
-
@JulienMarrec 添加了一个示例。
-
在窗口大小为 3 和步骤 2 的情况下,不应该是 1,2,3 然后是 2,3,4 吗?
-
@JulienMarrec 不,如果步长是 1 就是这种情况。
-
仅供参考,这里有一个未解决的问题来实现具有一定步长的滚动窗口github.com/pandas-dev/pandas/issues/15354