Или скопируйте / назначьте подмножество кадра данных нескольким местоположениям - PullRequest
0 голосов
/ 24 мая 2019

У меня есть datafame, скажем 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 и решил эту проблему с некоторыми условиями (проверяя дату каждой строки). Тем не менее, я хотел бы найти лучший / более быстрый способ.

Я мог бы также составлять одну неделю, затем другую, снова через цикл, но мне интересно, есть ли более элегантный способ.

Спасибо за помощь,

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...