Python 滚动数据帧

Python 滚动数据帧,python,pandas,Python,Pandas,我有一个数据帧df,看起来像: date waveLength 01/10/2007 21.0831 02/10/2007 21.3513 03/10/2007 21.2866 04/10/2007 21.0683 05/10/2007 21.7731 08/10/2007 22.626 09/10/2007 22.6274 10/10/2007 22.4751 11/10/2007 21.8606 12/10/2007 22.5411 15/10/2007

我有一个数据帧
df
,看起来像:

date        waveLength
01/10/2007  21.0831
02/10/2007  21.3513
03/10/2007  21.2866
04/10/2007  21.0683
05/10/2007  21.7731
08/10/2007  22.626
09/10/2007  22.6274
10/10/2007  22.4751
11/10/2007  21.8606
12/10/2007  22.5411
15/10/2007  22.5007
16/10/2007  22.8511
17/10/2007  23.2782
18/10/2007  23.3793
19/10/2007  22.9508
22/10/2007  23.4952
23/10/2007  25.0852
24/10/2007  25.0542
25/10/2007  24.6298
26/10/2007  24.8885
29/10/2007  24.941
30/10/2007  25.1984
    02/10/2007  21.3513
    03/10/2007  21.2866
    04/10/2007  21.0683
    05/10/2007  21.7731
    08/10/2007  22.626
我想创建一个滚动窗口,该窗口从df数据框顶部开始连续5天:
01/10/2007
05/10/2007
,并允许我使用此数据子集创建一个新的数据框,因此新的数据框(名为say
subDf
)最初看起来如下:

date        waveLength
    01/10/2007  21.0831
    02/10/2007  21.3513
    03/10/2007  21.2866
    04/10/2007  21.0683
    05/10/2007  21.7731
一旦我在
subDf
中处理了子集,我就可以将
df
数据帧向下滚动一天,并重新创建
subDf
datframe,使其看起来像:

date        waveLength
01/10/2007  21.0831
02/10/2007  21.3513
03/10/2007  21.2866
04/10/2007  21.0683
05/10/2007  21.7731
08/10/2007  22.626
09/10/2007  22.6274
10/10/2007  22.4751
11/10/2007  21.8606
12/10/2007  22.5411
15/10/2007  22.5007
16/10/2007  22.8511
17/10/2007  23.2782
18/10/2007  23.3793
19/10/2007  22.9508
22/10/2007  23.4952
23/10/2007  25.0852
24/10/2007  25.0542
25/10/2007  24.6298
26/10/2007  24.8885
29/10/2007  24.941
30/10/2007  25.1984
    02/10/2007  21.3513
    03/10/2007  21.2866
    04/10/2007  21.0683
    05/10/2007  21.7731
    08/10/2007  22.626
这将一直持续到
df
数据帧的底部,最后一次迭代的
subDf
如下所示:

    24/10/2007  25.0542
    25/10/2007  24.6298
    26/10/2007  24.8885
    29/10/2007  24.941
    30/10/2007  25.1984

我是否需要以整数(0,1,2,3,4…)或日期(01/10/2007,02/10/2007,03/10/2007…)的形式在索引中交互。如果能为我提供帮助,我将不胜感激。

您是否需要对每个子DF执行操作,如取平均值或标准偏差?Pandas允许在数据帧的滚动片上应用函数:当您说“向下滚动”数据帧一天并“重新创建”子DF时,不清楚您在做什么。为什么不直接使用
df.iloc[::5]
创建子集df呢?听起来你没有做任何聚合。请添加更多信息和上下文。这段代码是做什么的?它如何回答用户的问题?如果你打算只回答代码,那么代码至少需要有很好的注释。
import numpy as np
import pandas as pd

dates = ['01/10/2007', '02/10/2007', '03/10/2007', '04/10/2007', '05/10/2007', '06/10/2007', '07/10/2007']
wavelengths = np.random.rand(7)
data = pd.DataFrame({"date": dates,"wavelength": wavelengths})

for row_id in range(len(data)-4):
   sub_data = data.loc[row_id:(row_id+4)]
   print(sub_data)