题解 | #牛客网用户练习的平均次日留存率#
牛客网用户练习的平均次日留存率
https://www.nowcoder.com/practice/1f9e2b9be96b4b27a2476f8f12c5d29f
import pandas as pd df = pd.read_csv("nowcoder.csv", sep=",", encoding="utf8") # date列 只保留 日期 df.date = pd.to_datetime(df["date"]) df['date'] = df['date'].dt.strftime('%Y-%m-%d') # 总用户数量 cnt = df['user_id'].count() # mermge(用户id) data = pd.merge(left=df, right=df, on="user_id") data["date_x"] = pd.to_datetime(data["date_x"]) data["date_y"] = pd.to_datetime(data["date_y"]) # date相差为一天的留下 data = data.loc[data["date_y"] - data["date_x"] == pd.Timedelta(days=1)] # 输出平均此日留存率 print('%.2f' %(data['user_id'].count() / cnt))#python##数据清洗##悬赏#