Сегментация скользящего окна с перекрытием для фрейма данных - PullRequest
1 голос
/ 26 сентября 2019

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

enter image description here

myфрейм данных выглядит следующим образом:

    Time  Temperature  BPM  GSR
0    0.5         31.0   70  223
1    1.0         32.0   69  225
2    1.5         31.5   68  230
3    2.0         32.5   67  240
4    2.5         33.0   68  244
5    3.0         34.0   69  250
6    3.5         33.5   68  251
7    4.0         30.0   69  255
8    4.5         30.6   70  252
9    5.0         31.5   71  260
10   5.5         31.0   72  240
11   6.0         32.0   71  250
12   6.5         33.0   70  260

Вот код:

from itertools import islice

def window(seq, n=2):
    "Returns a sliding window (of width n) over data from the iterable"
    "   s -> (s0,s1,...s[n-1]), (s1,s2,...,sn), ...                   "
    it = iter(seq)
    result = tuple(islice(it, n))
    if len(result) == n:
        yield result
    for elem in it:
        result = result[1:] + (elem,)
        yield result

Но проблема в том, что вышеуказанная функция обеспечивает скольжение окна для 1d списка и не имеет никакого перекрытия

Здесь - мой ожидаемый результат.

...