Питон Панды. Как использовать скользящее окно для вычитания

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

df[column].rolling(8,min_periods=4)-df[column].rolling(8,min_periods=4).mean()

очевидно, это неправильно. я прочитал документы здесь https://pandas.pydata.org/pandas-docs/stable/computation.html

поэтому я подумал использовать .apply()

def dumby(x):
    return x

df[column].rolling(8,min_periods=4).apply(dumby)-df[column].rolling(8,min_periods=4).mean()

это тоже не работает и не кажется мне хорошим кодом.

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

def dumby(x):
t=[]
for i in x:
   t.append(i)
j=[float(y) for y in t]   
return j

любая помощь приветствуется.

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

введите здесь описание изображения

РЕДАКТИРОВАТЬ 2: Работа с более чем 100 тыс. строк, поэтому метод окна важен.


person Community    schedule 12.03.2018    source источник
comment
Можете ли вы создать некоторые фиктивные данные с ожидаемым результатом?   -  person Scott Boston    schedule 12.03.2018
comment
добавил спасибо. просто пример   -  person    schedule 12.03.2018


Ответы (1)


Я думаю, это сработает:

df['col'] - df['col'].rolling(8).mean()
person Jordi    schedule 12.03.2018
comment
Спасибо. один из тех вопросов, на которые, как только вы видите ответ, вы чувствуете себя глупо. Благодаря Скотту Бостону у вас это тоже было. - person ; 12.03.2018