Панды: счетчик увеличивается каждый раз, когда выполняются условия - PullRequest
0 голосов
/ 19 ноября 2018

У меня есть фрейм данных с некоторыми условиями и счетчик, который считает, когда выполняется условие A.

 date                      condition        count   
    01,01,2018 08:00             A               1
    01,01,2018 08:01             A               2
    01,01,2018 08:03             A               3
    01,01,2018 08:04             B               0
    01,01,2018 08:07             B               0
    01,01,2018 08:10             B               0
    01,01,2018 08:13             B               0
    01,01,2018 08:22             A               1
    01,01,2018 08:24             A               2
    01,01,2018 08:25             B               0
    01,01,2018 08:27             B               0
    01,01,2018 08:29             B               0
    01,01,2018 08:30             A               1

Я бы хотел, чтобы счетчик не сбрасывался при каждом изменении условия.

date                      condition        count   
01,01,2018 08:00             A               1
01,01,2018 08:01             A               2
01,01,2018 08:03             A               3
01,01,2018 08:04             B               3
01,01,2018 08:07             B               3
01,01,2018 08:10             B               3
01,01,2018 08:13             B               3
01,01,2018 08:22             A               4
01,01,2018 08:24             A               5
01,01,2018 08:25             B               5
01,01,2018 08:27             B               5
01,01,2018 08:29             B               5
01,01,2018 08:30             A               6

На данный момент код графа выглядит так:

df['count']= df.groupby((df['condition'] = 'A').cumsum()).cumcount()

Спасибо!

Ответы [ 2 ]

0 голосов
/ 19 ноября 2018

Я думаю groupby.cumsum - это то, что вы ищете

df['count']= df.groupby((df['Date']['condition']).cumsum())

, а затем поднастроить df на основе требуемого условия.

0 голосов
/ 19 ноября 2018

Почему бы не

df['count']=df['condition'].eq('A').cumsum()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...