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

df = pd.DataFrame({'value':[-15, -10, 40, -25, -50,-90, 200],
'date': ['2018-01-20', '2018-01-19','2018-01-19',
'2018-01-18', '2018-01-17','2018-01-16',
'2018-01-15'],
'flag':[0,0,1,0,0,0,1]})
Столбец флага принимает значение 1, если значение столбца больше нуля, и 0 в противном случае. Предположим, это отсортировано по дате. Учитывая этот кадр данных, я хочу вычислить изменение значения и даты для каждой строки, где флаг равен 0 относительно ближайшей, более ранней даты, флаг равен 1.
Полученный df должен выглядеть так:
Здесь мы впервые получили положительное значение, равное 40. Разница между 40 и -10 равна 30, а совокупная разница между этим значением и -15 равна 15.