计算连续天数python数据框

我正在尝试按连续日期对 ID 进行分组。


ID     Date   

abc    2017-01-07  

abc    2017-01-08  

abc    2017-01-09  

abc    2017-12-09  

xyz    2017-01-05  

xyz    2017-01-06 

xyz    2017-04-15  

xyz    2017-04-16 

需要返回:


ID     Count

abc    3

abc    1

xyz    2

xyz    2

我试过了:


d = {'ID': ['abc', 'abc', 'abc', 'abc', 'xyz', 'xyz', 'xyz', 'xyz'], 'Date': ['2017-01-07','2017-01-08', '2017-01-09', '2017-12-09', '2017-01-05', '2017-01-06', '2017-04-15', '2017-04-16']}

df = pd.DataFrame(data=d)

df['Date'] =  pd.to_datetime(df['Date'])


today = pd.to_datetime('2018-10-23')   

x = df.sort_values('Date', ascending=0)

g = x.groupby(['ID'])

x[(today - x['Date']).dt.days == g.cumcount()].groupby(['ID']).size()

是否有一种简单的方法可以通过 ID 获取所有日期范围的计数?


慕田峪4524236
浏览 212回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python