Как создать новый столбец условного подсчета в DataFrame Pandas ' - PullRequest
1 голос
/ 05 мая 2020

У меня есть DataFrame, df, например:

id   date
a    2019-07-11
a    2019-07-16
b    2018-04-01 
c    2019-08-10
c    2019-07-11
c    2018-05-15 

Я хочу добавить столбец подсчета и показывает, сколько строк с тем же идентификатором существует в дате с датой, предшествующей дата этой строки. Значение:

id   date        count
a    2019-07-11  0
a    2019-07-16  1
b    2018-04-01  0 
c    2019-08-10  2
c    2019-07-11  1
c    2018-05-15  0 

Если вы верите, что в SQL проще, и знаете, как это сделать, это тоже работает для меня.

1 Ответ

1 голос
/ 05 мая 2020

Сделайте так:

In [1688]: df.sort_values('date').groupby('id').cumcount()                                                                                                                                                  
Out[1688]: 
2    0
5    0
0    0
4    1
1    1
3    2
dtype: int64
...