Вот как выглядит мой фрейм данных.Expected_Output
столбец - это мой желаемый / целевой столбец.
Group Value Expected_Output
0 1 2 1
1 1 3 1
2 1 6 1
3 1 11 0
4 1 7 0
5 2 3 1
6 2 13 1
7 2 14 0
Для данного Group
, начиная с данной строки, я просматриваю следующие 5 строк и проверяю,любой Value > 10
.Если true, то я хочу вернуть 1 в Expected_Output
, иначе 0.
Например, в Group 1
, начиная с самой первой строки, Value
из 11 (что больше 10)появляется в пределах 3 строк и попадает в «окно следующих 5 строк», которое удовлетворяет условию, и, таким образом, 1 возвращается в Expected_Output
.Аналогично строке 6 в Group 2
, Value
из 14 (что больше 10) появляется в 1 строке и попадает в «окно следующих 5 строк», которое удовлетворяет условию, и, таким образом, 1 возвращается в Expected_Output
.
Я пытался df.groupby('Group')['Value'].rolling(-5).max() > 10
безрезультатно.