题解 | #牛客网用户练习的平均次日留存率#

牛客网用户练习的平均次日留存率

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##数据清洗##悬赏#
全部评论

相关推荐

点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务