如何在Pandas's DataFrame中创建新的条件数列?

问题描述 投票:0回答:1

我有一个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存在日期的日期是在该行的日期之前。意味着。

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中更容易,并且知道如何去做,那对我来说也是可行的。

pandas dataframe group-by pandas-groupby data-manipulation
1个回答
1
投票

做这个。

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
© www.soinside.com 2019 - 2024. All rights reserved.