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

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

https://www.nowcoder.com/practice/1f9e2b9be96b4b27a2476f8f12c5d29f

import pandas as pd
from datetime import timedelta
nowcoder = pd.read_csv('nowcoder.csv')
#日期
nowcoder['date']=pd.to_datetime(nowcoder['date']).dt.date
#去重
nowcoder.drop_duplicates(subset=['user_id','date'],inplace=True)
#merge实现左右连
new_nowcoder=pd.merge(nowcoder,nowcoder,on='user_id',how='inner',suffixes=['_a','_b'])
#on和how的参数都是带引号的,还可以指定相同列的下标,不指定默认是_x,_y
new_nowcoder['diff']=new_nowcoder['date_b']-new_nowcoder['date_a']
#两个时间之差数据类型就是timedelta类型
result=new_nowcoder[new_nowcoder['diff']==timedelta(days=1)]['diff'].count()/new_nowcoder[new_nowcoder['diff']==timedelta(days=0)]['diff'].count()
print(round(result,2))

全部评论
点赞 回复 分享
发布于 2022-11-23 12:57 安徽

相关推荐

04-06 11:24
已编辑
太原学院 C++
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
23
1
分享

创作者周榜

更多
牛客网
牛客企业服务