Взаимодействие с предыдущими ячейками в Pandas

День добрый! Задача такая. Строю DataFrame с большим количеством строк. По примеру: col1

Нужно получить еще одну колонку, значение которой равно делению текущего значения колонки "Значение1" на среднее из предыдущих x значений той же колонки. Получая нечто вроде этого(в данном случае значение x = 3)введите сюда описание изображения В python новичок, а для работы данная процедура необходима Заранее спасибо


Ответы (1 шт):

Автор решения: Алексей Р
wind = 4
df = pd.DataFrame({'col1': range(2, 10)})
df['col2'] = df.col1.rolling(wind, min_periods=wind).apply(lambda x: x.iat[-1] / x[:wind - 1].mean())
print(df)
   col1      col2
0     2       NaN
1     3       NaN
2     4       NaN
3     5  1.666667
4     6  1.500000
5     7  1.400000
6     8  1.333333
7     9  1.285714
→ Ссылка