Pandas: отсчет строк до появления значения - PullRequest
2 голосов
/ 25 февраля 2020

У меня есть pandas фрейм данных, который выглядит следующим образом:

                 Change  AdjPrc
Quarter                       
1994-03-31         0.0   10.33
1994-06-30         0.0    9.00
1994-09-30         0.0    8.67
1994-12-31         0.0    8.92
1995-03-31         0.0    8.08
1995-06-30         0.0   11.92
1995-09-30         0.0   12.17
1995-12-31         0.0   14.67
1996-03-31         0.0   13.58
1996-06-30         0.0   13.58
1996-09-30         1.0   15.42
1996-12-31         0.0   20.17
1997-03-31         0.0   20.00
1997-06-30         1.0   21.54
1997-09-30         0.0   22.25

Я хочу вычислить, сколько строк потребуется, пока не появится следующая 1.0 в столбце «Изменение». По сути, я хочу, чтобы мой фрейм данных выглядел следующим образом

                  Change  AdjPrc  Countdown
Quarter                                  
1994-03-31         0.0   10.33          10
1994-06-30         0.0    9.00          9
1994-09-30         0.0    8.67          8
1994-12-31         0.0    8.92          7
1995-03-31         0.0    8.08          6
1995-06-30         0.0   11.92          5
1995-09-30         0.0   12.17          4
1995-12-31         0.0   14.67          3
1996-03-31         0.0   13.58          2
1996-06-30         0.0   13.58          1
1996-09-30         1.0   15.42          3
1996-12-31         0.0   20.17          2
1997-03-31         0.0   20.00          1
1997-06-30         1.0   21.54          nan
1997-09-30         0.0   22.25          nan

Я нашел способ получить увеличение значений (найдено здесь ):

df.groupby((df["Change"] == 1).cumsum()).cumcount()

Тем не менее, я не знаю, как заставить их уменьшаться ... Есть идеи?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...