题解 | 牛客网用户练习的平均次日留存率
牛客网用户练习的平均次日留存率
https://www.nowcoder.com/practice/1f9e2b9be96b4b27a2476f8f12c5d29f
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,说明是连续两天登录
查看12道真题和解析