import pandas as pd 
df_0=pd.read_csv('nowcoder.csv')

df_0['date']=pd.to_datetime(df_0['date']).dt.date  #转成日期类型

df=df_0[['date','user_id']].drop_duplicates() # 用户1天会多次答题,需要去重

df['next_date'] = df.sort_values('date').groupby(df['user_id'])['date'].shift(-1) # 复刻sql中lead() over()这个窗口函数:排序-》分组-》获取下一次日期

print(round(df[(df['next_date']-df['date']).dt.days == 1]['user_id'].count()/df['user_id'].count(),2)) # 两个日期间隔为1,说明是连续两天登录