Учитывая фрейм данных следующей структуры
df1 = pd.DataFrame( data = {'userid':[465,465,999,999,999,999],
'postedDate':[pd.to_datetime('2018-11-01'),pd.to_datetime('2018-11-20'),pd.to_datetime('2018-11-01'),pd.to_datetime('2018-11-08'),pd.to_datetime('2018-11-14'), pd.to_datetime('2018-11-29')],
'value':[1,1,1,1,1,1]}).set_index('postedDate')
df1 = df1.groupby('userid').resample('W').count().drop('userid', axis =1 )
df1
userid postedDate value
465 2018-11-04 1
2018-11-11 0
2018-11-18 0
2018-11-25 1
999 2018-11-04 1
2018-11-11 1
2018-11-18 1
2018-11-25 0
2018-12-02 1
Для каждого идентификатора пользователя я хотел бы получить максимальное количество последовательных недель со значением = 1. Результат долженbe
userid max_consecutive_wks
465 1
999 3
Учитывая размер набора данных, любое решение, использующее для циклов , не будет работать в Python, поэтому я ищу Pandas / Numpy только векторизованный подход.