题解 | #牛客网用户练习的平均次日留存率#
牛客网用户练习的平均次日留存率
https://www.nowcoder.com/practice/1f9e2b9be96b4b27a2476f8f12c5d29f
import pandas as pd from datetime import timedelta from datetime import timedelta, datetime nowcoder = pd.read_csv('nowcoder.csv') nowcoder["date"] = pd.to_datetime(nowcoder.date.str[:10]) nowcoder["datenew"] = nowcoder["date"].apply(lambda x: x + timedelta(days=1)) nowcoder_1 = pd.merge( nowcoder[["user_id", "date"]], nowcoder[["user_id", "datenew"]], left_on=["user_id", "date"], right_on=["user_id", "datenew"], how='inner' ) cnt = nowcoder_1.shape[0] / nowcoder.shape[0] print(round(cnt, 2))
先将date部分替换为年月日形式,在新建一列给date一列全部加上一天,然后进行合并,以
["user_id", "date"]和["user_id", "datenew"]为主键,然后指定相同的user_id出来的数据
即合并出的数据为第二天再来的用户数,在进行运算
数据分析刷题专栏 文章被收录于专栏
这个专栏就是刷题!刷题!刷题!