Как я могу использовать функцию скручивания панд без агрегированной функции? - PullRequest
0 голосов
/ 24 октября 2018

У меня есть фрейм данных, подобный этому:

df = pd.DataFrame({'B': [0, 1, 2, 3, 4]})

Я хочу использовать функцию прокрутки в пандах, но мне не нужна агрегированная функция (сумма, среднее, минимальное, максимальное, ....) после прокатки.Мне нужны данные для каждого окна.

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

, когда я использую следующую функцию

w = df.rolling(2)

Я получил следующий результат:

Rolling [window=2,center=False,axis=0]

пока мне нужно это:

w = [[0 , 1]
    [1 , 2]
    [2 , 3]
    [3 , 4]]

1 Ответ

0 голосов
/ 24 октября 2018

Вы можете использовать np.stride_tricks:

import numpy as np
as_strided = np.lib.stride_tricks.as_strided  
win = 2
v = as_strided(df.B, (len(df) - (win - 1), win), (df.B.values.strides * 2))
print(v)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...