题解 | #牛客网用户练习的平均次日留存率#
牛客网用户练习的平均次日留存率
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##数据清洗##悬赏#
查看12道真题和解析
