Текущий счет предыдущих значений по умолчанию для клиента - PullRequest
1 голос
/ 10 июня 2019

Я хотел бы указать сумму неплатежей / просроченных платежей, которые были у клиента до транзакции.Например:

Customer   Late  Count
A          YES      0
B          NO       0
A          NO       1
B          YES      0
B          NO       1
A          YES      1
A          YES      2

Первая транзакция для каждого клиента будет иметь счетчик 0. Каждая последующая транзакция будет иметь счетчик просроченных платежей для этого клиента до текущей транзакции.Последняя транзакция имеет счет 2, потому что А опоздал на две предыдущие транзакции.

1 Ответ

1 голос
/ 10 июня 2019

В вашем случае вам может понадобиться groupby с cumsum и shift

df.Late.eq('YES').groupby(df.Customer).apply(lambda x : x.cumsum().shift().fillna(0)).astype(int)
Out[501]: 
0    0
1    0
2    1
3    0
4    1
5    1
6    2
Name: Late, dtype: int32
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...