我有一个数据名人,例如df1
,其中有多列,其中一列包含一个时间序列。为了便于说明,我用任意值(日期除外)填充了df1
。
index A B C D
0 2 3 4 2018-01-01 00:00:00
1 5 6 7 2018-01-01 00:10:00
2 8 9 10 2018-01-01 00:20:00
3 11 12 13 2018-01-01 00:30:00
4 14 15 16 2018-01-01 00:40:00
. . . . .
. . . . .
. . . . .
52559 20 21 22 2018-12-31 23:50:00
[52560 rows x 4 columns]
我想选择两个典型的星期(因此需要多行),例如前两个星期w1
和w2
w1
0 2 3 4 2018-01-01 00:00:00
1 5 6 7 2018-01-01 00:10:00
2 8 9 10 2018-01-01 00:20:00
3 11 12 13 2018-01-01 00:30:00
4 14 15 16 2018-01-01 00:40:00
. . . . .
. . . . .
. . . . .
167 17 18 19 2018-01-07 23:50:00
w2
168 4 6 8 2018-01-08 00:00:00
169 10 12 14 2018-01-08 00:10:00
170 16 18 20 2018-01-08 00:20:00
171 22 24 26 2018-01-08 00:30:00
172 28 30 32 2018-01-08 00:40:00
. . . . .
. . . . .
. . . . .
336 34 36 38 2018-01-14 23:50:00
并将它们复制/分配给另一个数据框df2
,这样df2
将成为w1/w2/w1/w2
...,总共52周:
index A B C D
0 2 3 4 2018-01-01 00:00:00
1 5 6 7 2018-01-01 00:10:00
2 8 9 10 2018-01-01 00:20:00
3 11 12 13 2018-01-01 00:30:00
4 14 15 16 2018-01-01 00:40:00
. . . . .
. . . . .
. . . . .
167 34 36 38 2018-01-14 23:50:00
168 4 6 8 2018-01-08 00:00:00
169 10 12 14 2018-01-08 00:10:00
170 16 18 20 2018-01-08 00:20:00
171 22 24 26 2018-01-08 00:30:00
172 28 30 32 2018-01-08 00:40:00
. . . . .
. . . . .
. . . . .
336 34 36 38 2018-01-14 23:50:00
0 2 3 4 2018-01-01 00:00:00
1 5 6 7 2018-01-01 00:10:00
2 8 9 10 2018-01-01 00:20:00
3 11 12 13 2018-01-01 00:30:00
4 14 15 16 2018-01-01 00:40:00
. . . . .
. . . . .
. . . . .
167 34 36 38 2018-01-14 23:50:00
. . . . .
. . . . .
. . . . .
[52560 rows x 4 columns]
一年中有一个星期会有所不同。
到目前为止,我考虑过遍历整个数据帧df1
,并在某些条件下(通过检查每一行的日期)来处理此问题。但是,我想找到一种更好/更快的方法。
我还可以一个星期再堆叠另一个星期,但我想知道是否还有更优雅的方式。
感谢您的帮助,