Итак, у меня есть фреймворк pyspark, организованный следующим образом:
1 | 1 | a | x |
2 | 1 | a | y |
1 | 2 | b | x |
2 | 2 | b | y |
1 | 3 | c | y |
2 | 3 | d | y |
1 | 4 | l | y |
2 | 4 | s | y |
и предположим, что метка времени — это номер дня от начала времени. Я бы хотел для каждой строки сгруппировать в список значения до -x дней относительно текущего идентификатора, чтобы иметь:
1 | 1 | a | X | a |
2 | 1 | a | y | a |
1 | 2 | b | x | a,b |
2 | 2 | b | y | a,b |
1 | 3 | c | y | a,b,c |
2 | 3 | d | y | a,b,d |
1 | 3 | c | y | b,c,l |
2 | 3 | d | y | b,d,s |
Я полагаю, что должен сделать это с помощью Window, но я не уверен, что делать дальше (я по какой-то причине плохо разбираюсь в Windows).
Источник: