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

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

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))

全部评论

相关推荐

点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务