题解 | #牛客网用户练习的平均次日留存率#
牛客网用户练习的平均次日留存率
https://www.nowcoder.com/practice/1f9e2b9be96b4b27a2476f8f12c5d29f
from datetime import timedelta import pandas as pd import numpy as np pd.set_option("display.width", 300) pd.set_option("display.max_rows", None) pd.set_option("display.max_columns", None) nowcoder = pd.read_csv("nowcoder.csv", sep=",") # 第二天还会再来的用户数 data = pd.merge(nowcoder, nowcoder, how="inner", on="user_id", suffixes=["_a", "_b"]) data["date_a"] = pd.to_datetime(data["date_a"]).dt.date # 将日期列转换为date属性:dt.date仅返回日期属性 data["date_b"] = pd.to_datetime(data["date_b"]).dt.date # 判断留存用户 data = data[data["date_a"] + timedelta(days=1) == data["date_b"]] stayed_user = data["user_id"].count() all_users = nowcoder["user_id"].count() print(round(stayed_user / all_users,2))