совокупный подсчет на основе условий в группе - PullRequest
0 голосов
/ 03 августа 2020

У меня есть набор данных, скажем так: df.head (10)

Acctid       Disposition
1             Unsuccessful
2             Unsuccessful
3             successful
1             Unsuccessful
2             Unsuccessful
2             Successful
1             Successful

Результат после groupby с acctid, который я хочу, в pandas выглядит следующим образом:

Acctid    Attempts before Successful
1           2
2           2
3           1

Мне просто нужно количество неудачных попыток перед успешной попыткой в ​​группе по фреймворку данных. Если сначала идет событие Успешный для acctid, он рыночный как 1.

1 Ответ

0 голосов
/ 03 августа 2020

Если после успешного завершения Acctid записей больше нет, следующий код должен дать вам то, что вы ищете.

df['Counter'] = np.where(df['Disposition'] == 'Unsuccessful',1,0)
df.groupby('Acctid')['Counter'].sum()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...